编写一个简单的登陆和查询页面用jsp

本文介绍了一个简单的Java用户管理系统,包括登录页面、登录处理过程及主页面的实现方式。系统通过JSP进行页面展示,并利用Servlet接收处理请求,同时涉及到数据库查询验证用户信息的过程。

1、下面是登陆页面(login.jsp)

<%@ page language="java" contentType="text/html; charset=utf8"
    pageEncoding="utf8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>管理系统</title>
</head>
<body>
	<center>
		<h1>欢迎使用用户管理系统</h1>
		<form action="loginProcess.jsp" method="post">
			<table>
				<tr>
					<td>用户名:</td><td><input type="text" name="yonghuming"></td>
				</tr>
				<tr>
					<td>密码:</td><td><input type="password" name="mima"></td>
				</tr>
				<tr>
					<td><input type="submit"></td>
				</tr>
			</table>
		</form>
	</center>
</body>
</html>

2、将(login.jsp)的数据传到(loginProcess.jsp)中

<%@ page language="java" contentType="text/html; charset=utf8"
    pageEncoding="utf8"
    import="util.DBUtil,java.sql.ResultSet"
    %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<%
	String uname=request.getParameter("yonghuming");
	
	String upwd=request.getParameter("mima");
	System.out.println("用户名:"+uname);
	System.out.println("密码:"+upwd);
	
	String sql="select name,password from user where name='"+uname+"' and password='"+upwd+"'";
	
	DBUtil db=DBUtil.getDB();
	ResultSet rs=db.executeQuery(sql);
	boolean b=false;
	while(rs.next()){
		b=true;
	}
	if(b){
		System.out.println("登陆成功");
		//向session中存储数据
		session.setAttribute("flag","success");
		//转换到指定位置的页面
		response.sendRedirect("main.jsp");
	}else{
		System.out.println("登陆失败");
		response.sendRedirect("login.jsp");
	}
	%>
</body>
</html>

3、(loginProcess.jsp)再跳转到(main.jsp)页面

<%@ page language="java" contentType="text/html; charset=utf8"
    pageEncoding="utf8"
    import="util.DBUtil,java.sql.ResultSet"
    %>
    
    <%
    //获取session的值,如果是null,说明session失效或者未登录
    if(session.getAttribute("flag")==null){
    	response.sendRedirect("login.jsp");
    }
    
    %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
	<%
	//1、总记录数	totalRows
	//2、一共多少页	totalPages
	//3、每页多少条	perPage
	//4、当前第几页	nowP
	//
	
	DBUtil db=DBUtil.getDB();
	
	//当前第几页
	int nowP=1;
	if(request.getParameter("nowPage")==null){
		nowP=1;
	}else{
		nowP=Integer.parseInt(request.getParameter("nowPage"));
	}
	
	//总记录数
	StringBuilder sbCount=new StringBuilder();
	sbCount.append("select count(*)as num from user");
	
	
	
	
	String userId=request.getParameter("userId");
	String userPwd=request.getParameter("userPwd");	
	
	//实例化一个StringBuilder对象(用来字符串之间相连接,比+速度更快)
	StringBuilder sb=new StringBuilder();
	sb.append("select name,password from user where 1=1 ");
	
	if(userId!=null && userId.trim().length()>0){
		sb.append("and name like '%"+userId+"%'");
		sbCount.append("and name like '%"+userId+"%'");
	}
	
	if(userPwd!=null && userPwd.trim().length()>0){
		sb.append("and password like '%"+userPwd+"%'");
		sbCount.append("and password like '%"+userPwd+"%'");
	}
	
	String str=sbCount.toString();
	ResultSet reCount=db.executeQuery(str);
	//总行数
	int totalRows=0;
	while(reCount.next()){
		totalRows=Integer.parseInt(reCount.getString("num"));
	}
	
	//每页多少条
	int perPage=2;
	//共有多少页
	int totalPages=0;
	System.out.println("总记录数:"+totalRows);
	
	if(totalRows%perPage==0 && totalRows!=0){
		totalPages=totalRows/perPage;
	}else{
		totalPages=totalRows/perPage+1;
	}
	
	//limit (当前第几页-1)*每页显示数量,每页显示数量
	sb.append("limit "+(nowP-1)*perPage+","+perPage);
	
	String sql=sb.toString();
	System.out.println(sql);
	ResultSet rs=db.executeQuery(sql);
	
	%>
	<center>
		<form action="main.jsp" method="post">
			<table border="1">
			<tr>
				<td>用户名</td><td>密码</td><td>操作</td>
			</tr>
			<tr>
				<td><input type="text" name="userId"></td><td><input type="text" name="userPwd"></td><td><input type="submit" value="查询"></td>
			</tr>
			<%
			while(rs.next()){%>
			<tr>
				<td><%=rs.getString("name")%></td><td><%=rs.getString("password")%></td>
			</tr>	
			<%}%>
		</table>
		</form>
		
		<table weith="400">
			<%
			if(nowP==1){%>
				<tr>
				<td><a href="main.jsp?nowPage=1">首页</a></td>
				<td><a href="">上一页</a></td>
				<td><a href="main.jsp?nowPage=<%=nowP+1%>">下一页</a></td>
				<td><a href="main.jsp?nowPage=<%=totalPages%>">尾页</a></td>
				<td>第<%=nowP%>页</td>
				<td>共<%=totalPages%>页</td>
			</tr>
			<%}else if(nowP==totalPages){%>
				<tr>
					<td><a href="main.jsp?nowPage=1">首页</a></td>
					<td><a href="main.jsp?nowPage=<%=nowP-1%>">上一页</a></td>
					<td><a href="">下一页</a></td>
					<td><a href="main.jsp?nowPage=<%=totalPages%>">尾页</a></td>
					<td>第<%=nowP%>页</td>
					<td>共<%=totalPages%>页</td>
				</tr>
			<%}else{ %>
				<tr>
					<td><a href="main.jsp?nowPage=1">首页</a></td>
					<td><a href="main.jsp?nowPage=<%=nowP-1%>">上一页</a></td>
					<td><a href="main.jsp?nowPage=<%=nowP+1%>">下一页</a></td>
					<td><a href="main.jsp?nowPage=<%=totalPages%>">尾页</a></td>
					<td>第<%=nowP%>页</td>
					<td>共<%=totalPages%>页</td>
				</tr>
			<%}%>
		</table>
		
	</center>
</body>
</html>

其中SQL中user为表名,服务器用的是tomcat

转载于:https://my.oschina.net/cannianguaishushu/blog/657107

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值