Servlet设置简单的登录系统

Servlet+Session 设置简单的登录系统

  1. 首先创建一个登录jsp页面

复制代码

 1 <body>
 2         <form  action="${pageContext.request.contextPath }/loginServlet"  name="actionForm" id="actionForm"  method="post" >
 3             <dl>
 4                 <dt>用户名:</dt>
 5                 <dd><input type="text" id="userCode" name="userCode"/> <span id="userCodeSpan"></span> </dd>
 6                 <dt>密 码:</dt>
 7                 <dd><input type="password"  id="userPassword" name="userPassword"/><span id="userPasswordSpan"></span></dd>
 8             </dl>
 9             <div class="buttons">
10                 ${error }
11                 <input type="button"   value="登录系统" οnclick="validate();" />
12                 <input type="reset"  value="重  填" class="input-button" />
13             </div>
14         </form>
15 
16 
17 </body>

复制代码

  2.创建一个Servlet类

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

public class LoginServlet extends HttpServlet {

 

    /**

     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse

     *      response)

     */

    protected void doGet(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        // TODO Auto-generated method stub

        doPost(request, response);

    }

 

    /**

     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse

     *      response)

     */

    protected void doPost(HttpServletRequest request, HttpServletResponse response)

            throws ServletException, IOException {

        // TODO Auto-generated method stub

        //获取用户名和密码

        String name = request.getParameter("userCode");

        String password = request.getParameter("userPassword");

        //拿着信息去数据库查询是否存在

        UserService us = new UserServiceImpl();

        User user = new User();

        user = us.getUserInfo(name, password);

         

        if(user!=null) {

            //登陆后设置用户session

            request.getSession().setAttribute("userSession", user);

            //如果数据库存在该用户就重定向到首页

            response.sendRedirect("/news/jsp/admin/admin.jsp");

             

        }else {

            response.sendRedirect("/news/jsp/login.jsp");

             

        }

    }

 

}

  •   先从跳转页面获取name和password,然后去数据库查询信息是否存在
  • 如果存在就跳转到登录的首页, 跳转之前先设置把用户信息设置进session里, 登录以后访问网站的其他页面不用在登录
  • 如果不存在重定向回登录页面

  3.写好severlet类后要在web.xml里配置一下 具体从跳转到找到你写的servlet类的过程如下 1.2.3.4

复制代码

  <servlet>
    <description></description>
    <display-name>LoginServlet</display-name>
    <servlet-name>LoginServlet</servlet-name>//3.根据名字找到这个类
    <servlet-class>com.kgc.web.servlet.LoginServlet</servlet-class>//4.最后找到这个类所在的具体位置
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>//2.根据相对路径找到这个servlet名字
    <url-pattern>/loginServlet</url-pattern>//1.提交表单时会定向到这个相对路径
  </servlet-mapping> 

复制代码

4.如果存在下一步会重定向到response.sendRedirect("/news/jsp/admin/admin.jsp");这个路径,但是进入这个页面前会先经过过滤器

 View Code

过滤器会先检查session中user是否为空,如果为空将会重定向到登录页面,如果不为空将会chain.doFilter(request, response);继续传递下去

过滤器在web.xml中配置如下

复制代码

1  <filter>
2     <filter-name>loginFilter</filter-name>
3     <filter-class>com.kgc.web.filter.LoginFilter</filter-class>
4   </filter>
5   <filter-mapping>
6     <filter-name>loginFilter</filter-name>
7     <url-pattern>/jsp/admin/*</url-pattern>//设置过滤的范围,admin下的所有jsp页面
8   </filter-mapping>

复制代码

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值