1、建立login.jsp文件,将如下代码写入
<%
Cookie[] cookie_arr=request.getCookies();
%>
<form action="LoginServlet" method="post">
<pre>
用户名:<input type="text" name="userName" value="<%
if(cookie_arr!=null){
for(Cookie cookie:cookie_arr){
if(cookie.getName().equals("login_uname")){
out.print(cookie.getValue());
}
}
}
%>">
密码:<input type="password" name="userPassword" value="<%
//判断是否有用户信息存入cookie,如果有则读取
if(cookie_arr!=null){
for(Cookie cookie:cookie_arr){
if(cookie.getName().equals("login_pwd")){
out.print(cookie.getValue());
}
}
}
%>">
<input type="checkbox" value="check" name="check">记住密码
<input type="submit" name="sub" value="登录" >
</pre>
</form>
2、建立服务器端文件LoginServlet.servlet:
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//修改编码
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
//1、获得用户信息
String userName=request.getParameter("userName");
String userPassword=request.getParameter("userPassword");
//2、判断用户登录成功(未连接数据库)
if(userName.equals("zhangsan")&& userPassword.equals("123")) {
//3、如果登录成功 判断是否要记住密码
if(request.getParameter("check")!=null) {
//4、如果客户选择了记住密码则将用户名和密码存入cookie中
Cookie uname_cookie=new Cookie("login_uname", userName);
Cookie pwd_cookie=new Cookie("login_pwd", userPassword);
uname_cookie.setPath("/session_cookie");
pwd_cookie.setPath("/session_cookie");
uname_cookie.setMaxAge(15*24*3600);//以秒为单位
pwd_cookie.setMaxAge(15*24*3600);//15天
response.addCookie(uname_cookie);
response.addCookie(pwd_cookie);
}
response.sendRedirect("index.jsp");
}else {
response.getWriter().println("用户名或密码出错");
}
3、如果使用数据库查询登录信息,则使用如下代码代替2
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
//1、获得用户信息
String userName=request.getParameter("userName");
String userPassword=request.getParameter("userPassword");
//2、从数据库获取信息
String sql="select * from mymarket where userName=? && userPassword=?";
List<Object> paramList=new ArrayList<Object>();
paramList.add(userName);
paramList.add(userPassword);
DbHelper dbHelper=new DbHelper();
List<Map<String, Object>> list= dbHelper.executeQuery(sql, paramList);
//3、如果查询到则将判断cookie是否被选中
if(list!=null && list.size()>0) {
if(request.getParameter("check")!=null) {
//4、如果客户选择了记住密码则将用户名和密码存入cookie中
Cookie uname_cookie=new Cookie("login_uname", userName);
Cookie pwd_cookie=new Cookie("login_pwd", userPassword);
uname_cookie.setPath("/session_cookie");
pwd_cookie.setPath("/session_cookie");
uname_cookie.setMaxAge(15*24*3600);
pwd_cookie.setMaxAge(15*24*3600);
response.addCookie(uname_cookie);
response.addCookie(pwd_cookie);
}//如果查询到并将数据存入cookie,则重定向到index.jsp文件。
response.sendRedirect("index.jsp");
}else {
//如果没有查询到,则输出用户名或密码出错
response.getWriter().println("用户名或密码出错");
}
}
4、建立index.jsp文件,模拟正文
<body>
主页
</body>