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的过程中, 遇到的疑问, 后续不断更新.
所有知识都是网上百度而来, 不一一列举来源.
一. 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 4 官方文档学习(②)Web MVC 框架之编码式Servlet容器初始化
- Spring 4 官方文档学习(⑥)Web MVC 框架之配置Spring MVC
- Spring 4 官方文档学习(十一)Web MVC 框架之编码式Servlet容器初始化
- spring mvc框架 web.xml配置文件 Could not open ServletContext resource [/WEB-INF/classes/spring-servlet.xml] 错误
- Spring 4 官方文档学习(十一)Web MVC 框架之配置Spring MVC
- Spring MVC集成thymeleaf时提示:defined in ServletContext resource [/WEB-INF/SrpingMVCTest-servlet.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException
- maven新建Spring MVC + MyBatis + Oracle的Web项目中pom.xml文件
- 【spring MVC学习一】web.xml中的spring的配置
- Could not open ServletContext resource [/WEB-INF/springmvc-servlet.xml]
- springMVC+Mybatis的maven-web项目的pom.xml文件内容
- Spring 4 官方文档学习(十一)Web MVC 框架之Flash Attributes
- Spring 4 官方文档学习(十一)Web MVC 框架之URI Builder
- Spring 4 官方文档学习(十一)Web MVC 框架
- 关于搭建restful web service + springMVC + ibatis/hibernate的整合和XML配置意思和ssh+springMVC框架搭建
- 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(五)
- 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(二)
- 【JavaWeb】Spring+SpringMVC+MyBatis+SpringSecurity+EhCache+JCaptcha 完整Web基础框架(前言)
- spring MVC学习笔记(二) springMVC.xml配置文件解析
- java中spring+springMVC+Mybatis主流框架maven的pom.xml配置参考
- spring学习10- mvc 异步之servlet异步基础知识