JSP登录中Session的用法实例详解
作者:Z_DZ
这篇文章主要介绍了JSP登录中Session的用法,结合实例形式详细分析了JSP登录中使用Session的具体操作技巧与注意事项,需要的朋友可以参考下
本文实例讲述了JSP登录中Session的用法。分享给大家供大家参考,具体如下:
登录页面
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!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=utf-8"> <title>Insert title here</title> </head> <body> <div style="float:left;margin-top:100px;margin-left:200px;width:400px;height:300px;background:gray;"> <form action="IndexServlet" method="post"> <div style="float:left;width:400px;height:30px;background:gray;margin-top:50px"> <div style="margin-left:70px;float:left;line-height:30px">账号:</div><input style="disply:block;float:left;width:200px;height:30px;border:none;" type="text" name="user"/> </div> <div style="float:left;width:400px;height:30px;background:gray;margin-top:50px"> <div style="margin-left:70px;float:left;line-height:30px">密码:</div><input style="disply:block;float:left;width:200px;height:30px;border:none;" type="text" name="password"/> </div> <div style="float:left;margin-top:50px;width:400px;height:30px;background:gray;"> <input style="float:left;width:60px;height:30px;margin-left:170px;border:none;" type="submit" name="ok" value="登录"/> </div> </form> </div> </body> </html>
检测账号密码以及设置session的IndexServlet
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; /** * Servlet implementation class IndexServlet */ @WebServlet("/IndexServlet") public class IndexServlet extends HttpServlet { private static final long serialVersionUID = 1L; /** * @see HttpServlet#HttpServlet() */ public IndexServlet() { super(); // TODO Auto-generated constructor stub } /** * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */ protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub response.getWriter().append("Served at: ").append(request.getContextPath()); } /** * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */ protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // TODO Auto-generated method stub request.setCharacterEncoding("utf-8"); String user = request.getParameter("user"); String password = request.getParameter("password"); String path = request.getContextPath(); HttpSession session=request.getSession(); if ("1".equals(user) && "1".equals(password)) { session.setAttribute("name", user); response.sendRedirect(path + "/success.jsp"); }else{ response.sendRedirect(path + "/Index.jsp"); } } }
成功登录页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <% String path = request.getContextPath(); %> <% Object name = session.getAttribute("name"); if(name==null){ response.sendRedirect(path+"/Index.jsp"); } %> <html> <head> <title>成功页面</title> </head> <body> 恭喜你,骚年,<%=session.getAttribute("name") %>,成功登陆了! <a href="out.jsp" rel="external nofollow" >注销</a> </body> </html>
注销功能的jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!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=UTF-8"> <title>Insert title here</title> </head> <body> <% String path = request.getContextPath(); %> <% session.removeAttribute("name"); response.sendRedirect(path+"/Index.jsp"); %> </body> </html>
希望本文所述对大家jsp程序设计有所帮助。