您的位置:首页 > 编程语言 > Java开发

Spring MVC 框架pom.xml, web.xml, spring-mvc-servlet.xml, security.xml相关知识学习

2018-02-27 13:50 831 查看
新手在学习Spring框架时, 对了上面提到的xml文件里很多语法都不太理解.
本文的目的, 是记录在学习SPRING MVC的过程中, 遇到的疑问, 后续不断更新.
所有知识都是网上百度而来, 不一一列举来源.

一.  context-param & init-param 
参考: http://blog.csdn.net/fupengyao/article/details/50605954
作用: 
1. 启动一个WEB项目的时候,容器(如:Tomcat)会去读它的配置文件web.xml.读两个节点: <listener></listener> 和 <context-param></context-param>2.紧接着,容器创建一个ServletContext(上下文),这个WEB项目所有部分都将共享这个上下文.3.容器将<context-param></context-param>转化为键值对,并交给ServletContext.4.容器创建<listener></listener>中的类实例,即创建监听.5.在监听中会有contextInitialized(ServletContextEvent args)初始化方法,在这个方法中获得ServletContext = ServletContextEvent.getServletContext();区别:(1)application范围内的参数,存放在servletcontext中,在web.xml中配置如下:
<context-param>  
           <param-name>context/param</param-name>  
           <param-value>avalible during application</param-value>  
</context-param>  
(2)servlet范围内的参数,只能在servlet的init()方法中取得,在web.xml中配置如下:
<servlet>  
    <servlet-name>MainServlet</servlet-name>  
    <servlet-class>com.wes.controller.MainServlet</servlet-class>  
    <init-param>  
       <param-name>param1</param-name>  
       <param-value>avalible in servlet init()</param-value>  
    </init-param>  
    <load-on-startup>0</load-on-startup>  
</servlet> 

第一种参数在servlet里面可以通过getServletContext().getInitParameter("context/param")得到
第二种参数只能在servlet的init()方法中通过this.getInitParameter("param1")取得.


二, filter, filter-class, filter-mapping如下: filter-class 为过滤器Filter类,init-prama为注入的set参数Filter-mapping中的url-pattern为过滤的url类型
<!-- 编码处理过滤器 -->

<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>utf-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>*.do</url-pattern>
</filter-mapping>


三.  Spring-mvc-security.xml相关知识
以下知识参考: http://blog.csdn.net/column/details/15776.html

Ø  Web/Http 安全:这是最复杂的部分。通过建立filter和相关的service bean来实现框架的认证机制。当访问受保护的URL时会将用户引入登录界面或者是错误提示界面。Ø  业务对象或者方法的安全:控制方法访问权限的。Ø  AuthenticationManager:处理来自于框架其他部分的认证请求。Ø  AccessDecisionManager:为Web或方法的安全提供访问决策。会注册一个默认的,但是我们也可以通过普通bean注册的方式使用自定义的AccessDecisionManager。Ø  AuthenticationProvider:AuthenticationManager是通过它来认证用户的。Ø  UserDetailsService:跟AuthenticationProvider关系密切,用来获取用户信息的。
3.1  auto-config 当指定http元素的auto-config=”true”时,就相当于如下内容的简写。   <security:http>      <security:form-login/>      <security:http-basic/>      <security:logout/>   </security:http>3.2 <password-encoder hash="md5" >  直接配置 hash = 'md5' 等效于单独配置
<bean id="encoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder" />
这样,登录时输入的用户密码将会使用md5(加盐值)加密后与数据库里的密文进行匹配。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  SPRING MVC
相关文章推荐