ad

打开《Java+EE应用开发实践教程》_读懂新的设计思路_4.2.4.通过 Spring MVC拦截器实现用户登录验证

admin 156 2023-10-25

【摘要】 本书摘自《Java+EE应用开发实践教程》一书中第4章,第2节,由涂祥著。

4.通过 Spring MVC拦截器实现用户登录验证。

(1)新建 cn.hbmy.p13.interceptor包,在包中创建LoginInterceptor,用于拦截器实 现用户的登录验证。这里的拦截器是通过继承 HandlerInterceptorAdapter 抽象类实 现,通过重载其preHandle方法,实现在请求达到控制器之前被拦截处理。值得注意的 是,当设置了拦截器,将拦截所有请求,此时对登录或注册的请求也将进行拦截,因此需 要解决不拦截登录和注册请求的问题。解决的方法包括在下一步的配置文件中设置不 拦截的资源,或在拦截器设计中通过代码判断放行的资源。实验中使用的方法是后者。

(2)在Spring MVC的配置文件dispatcher—servlet.xml中配置拦截器。注意在配 置拦截器后,默认的Spring MVC拦截器会拦截静态资源文件,这也是这种REST 风格

的弊端。实验中使用的解决方法是在配置文件 dispatcher—servlet. xml 中增加了对拦 截器不用拦截资源的设置,例如,在 中,设置了不必拦截所有的 css资源文件的条件。

5.通过 Spring AOP和 log4j2实现项目日志操作。借鉴 AOP 的思想,将日志操作 做成一个切面,切入到需要进行日志操作的业务逻辑或者控制逻辑的前后,这样既利于 软件开发阶段排查错误,也有利于软件应用阶段的系统维护。

打开《Java+EE应用开发实践教程》_读懂新的设计思路_4.2.4.通过 Spring MVC拦截器实现用户登录验证

(1)在src目录下创建log4j2.xml文件,用于日志配置。 Servlet 3 以上版本的Web 项目在集成log4j2时,仅需要导入相关开发jar包,然后配置好 log4j2.xml文件即可使 用。实验中的日志设置了2个级别的输出, 一个是 debug,用于调试阶段在控制台中输 出内存参数; 一个是info,用于运行阶段在文件中输出用户所有的操作信息。

(2)在cn.hbmy.p13.interceptor包中新建LogAspect类,并通过 AOP 注解的方式 实现对Controller中用户相应方法的切面编程。即当用户调用相应方法时,将切入完成 相关日志操作。这里使用注解的方式进行 AOP 编程,与之前实验十二中的 AOP 编程 相比较,显得更加简洁,仅需要在 Spring 的配置文件中增加 AOP 的支持,并注 册LogAspect类。

(3)在实验中的 Spring配置文件中增加 AOP 支持,并注册LogAspect类。当前实 验在 Spring MVC的配置文件 dispatcher—servlet.xml中进行配置,需要注意在配置文 件中要引入AOP 的名称空间 xmlns:aop,还要在xsi:schemaLocation 中加入 aop 的 xsd 文件。

6.使用 SiteMesh框架实现网页布局和修饰。

(1)下载和安装 SiteMesh。 实验中使用的版本是 sitemest-3.0.1.jar。

(2)配置 web.xml 文件。在 web.xml 文件配置 SiteMeshFilter 过滤器。 SiteMesh 实质上是一个页面过滤器,过滤所有需要使用SiteMesh 框架的页面文件。

(3)配置SiteMesh的配置文件decoractors.xml。主要用于配置哪些页面需要装载 装饰页,哪些不需要。实验中使用设置 装饰器,并设置需要使用装饰器的目录路径。

(4)创建装饰页面。在WEB-INF 下创建 decoractors 目录,并在目录下新建4个 页面,footer.jsp、header. jsp、menu.jsp和 main.jsp。前 3 个jsp页面都是为main.jsp服 务,分别描述装饰后页面的头部、底部和菜单,main.jsp即是装饰器。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们 18664393530@aliyun.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:《智能制造服务云平台初探》_让你更懂智能制造_7.4.3 企业大数据应用服务系统
下一篇:阅读《时空大数据与云平台 理论篇》_走进云的世界_1.1 共享世界的认知
相关文章

 发表评论

暂时没有评论,来抢沙发吧~

×