请老师检查!

请老师检查!

0.前期准备:项目结构

新建工程interceptor_h01

将上述工程,增加Web应用的能力:

23.3020

配置Tomcat:

23.3021


1.在工程的配置文件pom.xml中:

引入spring-mvc框架的依赖:

增加jackson依赖;

增加servlet-api依赖;

引入依赖日志组件logback

  
  =
          =
          =
     4.0.0
 
     com.imooc
     interceptor
     1.0-SNAPSHOT
 
     
         8
         8
     
 
     
         
             org.springframework
             spring-webmvc
             5.1.9.RELEASE
         
 
         
             com.fasterxml.jackson.core
             jackson-core
             2.9.9
         
 
         
             com.fasterxml.jackson.core
             jackson-databind
             2.9.9
         
 
         
             com.fasterxml.jackson.core
             jackson-annotations
             2.9.9
         
 
         
             javax.servlet
             javax.servlet-api
             3.1.0
         
 
         
             ch.qos.logback
             logback-classic
             1.2.3


2.在Web应用的配置文件web.xml


   
  
          :
          :
          
 
     
         
         ....
         
             
             :.
         
         
     
     
         
         
     
 
 
     
         
         ....


3.在Spring配置文件applicationContext.xml中:

  
  =
        =
        =
        = =
        =
             
             
             
             
             
 
     
      =
 
     
     
 
     
     
 
 
 
     
         
              =
              =
              =
              =


1, 编写登录页面,将请求提交给Controller

login.jsp中:

 <%
      .
   : 
   : 
   : :
             .
 %>
 <%    %>
 
 
     Title
 
 
 
 
  = =
     ${msg}
 
     用户名: = = =
     密码: = = =
 
      = = =


在主页面main.jsp中:

 <%
      .
   : 
   : 
   : :
             .
 %>
 <%    %>
 
 
     Title
 
 
 
      =当前用户:${u.name}
 
      =退出





2, 编写实体类User,包括id,name,password字段和get、set方法

  ...;
 
    {
       ;
       ;
       ;
 
       () {
          ;
     }
 
       ( ) {
         .  ;
     }
 
       () {
          ;
     }
 
       ( ) {
         .  ;
     }
 
       () {
          ;
     }
 
       ( ) {
         .  ;
     }
 }


3, 编写UserController类,public class UserController { }

\1) 定义登录方法,跳转到用户登录页面

\2) 获取用户名和密码

\3) 获取用户名和密码后进行判断,可以将用户名和密码都定义为admin,如果都正确,将用户对象添加到Session中,并重定向到主页面

\4) 如果用户名密码错误,给出提示,重定向到登录页面

\5) 编写退出方法,重定向到登录页面

  ...;
  ....;
  ...;
  .....;
  ....;
  ...;
 
 
 
    {
 
 
     ()
       ( ,  ) {
            ;
         ..();
          (.().()  .().()) {
                ();
             .(, );
             .(,);
              ;
         }{
                ();
             .(,);
              ;
         }
     }
 
 }



4, 编写LoginInterceptor类并实现HandlerInterceptor接口

\1) 获取用户信息,写入日志;如:用户ip地址,访问的url地址,客户端环境等

\2) 获取请求的url,login页面公开,其余页面进行拦截

\3) 获取session,判断session中是否有用户数据,如果有,则返回true,继续向下执行

\4) 判断session中是否有用户数据,如果有,则返回true,继续向下执行


  ...;
  ....;
  ..;
  ..;
  ....;
  ...;
  ...;
 
 
 
      {
     
         .(.);
 
 
     
       ( ,  ,  )   {
            () .().();
          (  ) {
             .(.()    .());
             ..();
              ;
         }{
             ..();
             .();
              ;
         }
 
     }
 }


5, 结合课程案例,完成配置文件的配置以及logback.xml文件的编写

在logback.xml文件中:

  
 
     
      = =
          =
             e:/code/logs/history1.%d.log   
         
         
             [%thread] %d %level %logger{10} - %msg%n
         
     
 
 
     
      = = =
          =

项目结构图示:


https://img1.sycdn.imooc.com//climg/6380e5cd097a98b804770791.jpg


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,同学提供的代码格式错乱,老师这里无法对代码进行格式化。

建议同学重新提交一下代码,并且在提供的时候选择对应的代码格式。

祝学习愉快~

  • Jerry_Zheng24 提问者 #1

    老师好,已在另一个提问中重新提交代码。

    请把此提问删除吧!

    2022-11-26 13:19:55
  • 好帮手慕小蓝 回复 提问者 Jerry_Zheng24 #2

    同学你好,同学的问题老师在这里已经做了回答,请查看: https://class.imooc.com/course/qadetail/338798

    祝学习愉快~

    2022-11-26 14:12:48
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师