基于spring mvc下请求的简单工作流程及其相应配置集成
来源:互联网 发布:淘宝的竖向分类怎么弄 编辑:程序博客网 时间:2024/05/22 16:38
1.读本文前需要了解的知识点:
1.RESTful 风格 :http://www.cnblogs.com/chinajava/p/5871305.html
2.Servlet 是什么:http://blog.csdn.net/honghailiang888/article/details/50585475
3.Filter 是什么:http://blog.csdn.net/honghailiang888/article/details/52994058
4.xml常用标签说明:http://blog.csdn.net/dwj901125/article/details/9070121
2.本文参考文章:http://jinnianshilongnian.iteye.com/blog/1594806
3.请求流程
1. 一般用户发送请求至web容器,然后根据url路径映射到前端控制器DispatcherServlet
2. 经过过滤器,从而决定进入到相应的哪一个控制器类
3.控制器进行相应的操作,返回给模板引擎(视图解析器)进行相应的操作
4.spring相关配置
1.分发器采用spring默认的
<servlet> <servlet-name>app</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>app</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping>
2.视图解析器配置,以jsp为例
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /> <property name="order" value="256" /> <property name="prefix" value="/views/"></property> <property name="suffix" value=".jsp"></property> </bean>
3.常见的过滤器配置
1.乱码过滤器(推荐放在过滤器链的第一个)
<filter> <filter-name>characterEncodingFilter</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></filter><filter-mapping> <filter-name>characterEncodingFilter</filter-name> <url-pattern>/*</url-pattern></filter-mapping>
2.文件过滤bean器(因为有时候,我们需要上传文件,比如图片等)
定义bean,调用spring自带的解析
<bean id="commonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" />
自定义的文件过滤器,这样做的好处在于,可以有效拦截上传文件的请求,对于上传文件的操作进行统一处理,然后执行逻辑层的操作.
public class ShiroFileFilter implements Filter { @Override public void destroy() { } @Override public void doFilter(ServletRequest req, ServletResponse rep, FilterChain fileter) throws IOException, ServletException { if (req instanceof MultipartHttpServletRequest) { // 在此处上传文件 CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(); req = commonsMultipartResolver.resolveMultipart((HttpServletRequest) req); // 自定义操作 } doFilter(req, rep, fileter); } @Override public void init(FilterConfig arg0) throws ServletException { }}
4.为静态资源文件配置servlet(防止设置相应过滤器后,对静态资源请求进行拦截).但是对于静态资源请求,如果用到了分布式,推荐使用nginx访问静态资源请求,因为有gzip压缩处理
<servlet-mapping> <servlet-name>default</servlet-name> <url-pattern>*.jpg</url-pattern> <url-pattern>*.js</url-pattern> <url-pattern>*.css</url-pattern> <url-pattern>*.png</url-pattern> <url-pattern>*.gif</url-pattern> <url-pattern>*.json</url-pattern> <url-pattern>*.swf</url-pattern> <url-pattern>*..map</url-pattern> </servlet-mapping>
- 基于spring mvc下请求的简单工作流程及其相应配置集成
- Shiro 工作流程及其Spring集成配置分享
- spring mvc 的工作流程
- spring mvc的工作流程
- Spring MVC请求处理流程、springMVC工作流程
- spring mvc 的工作流程是什么+Spring+Ibatis集成开发实例
- Struts框架相应用户请求的工作流程
- spring mvc请求流程
- Spring MVC请求流程
- spring MVC 工作流程
- Spring MVC工作流程
- spring mvc 工作流程
- Spring MVC工作流程
- spring mvc 工作流程
- Spring MVC工作流程
- Spring MVC工作流程
- Spring MVC 工作流程
- Spring MVC工作流程
- 扒一扒那些说起来简单做着难的技术需求
- Python函数-关键字参数
- 大数据学习之路-第04天-centos防火墙操作-开启防火墙&关闭防火墙
- 51nod 1370 排列与操作
- JAVA传参
- 基于spring mvc下请求的简单工作流程及其相应配置集成
- Java反射(一)----基础介绍
- qt之Q_PROPERTY
- ADSL命令定时切换
- Hyperledger fabric0.6的链码接口整理
- Spring读取properties文件加密解密
- Android Studio如何获取SHA1或MD5(百度地图API开发中用到的SHA1)
- Windows Server 2012 R2 远程桌面授权
- bitmap学习