【spring配置】——springMVC配置
2016-01-10 15:30
483 查看
Spring所有的配置都可以分为XML和Annotation两种。
首先需要导入Spring的jar包,然后在项目的web.xml中配置dispatchServlet。
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/04/acc43ba831f383126b02f6ce39d71c19)
![](https://oscdn.geek-share.com/Uploads/Images/Content/202009/04/1053d129295d897ec2a1989e9237a7b7)
首先需要导入Spring的jar包,然后在项目的web.xml中配置dispatchServlet。
<!-- SpringMVC拦截器 --> <servlet> <servlet-name>spring</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:/application-context.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
xml配置方式:
1.使用BeanNameUrlHandlerMapping/SimpleControllerHandlerAdapter
使用SimpleControllerHandlerAdapter需要Controller实现Controller接口:package com.xy.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller; /** * SpringMVC xml配置方式Controller * 必须实现Controller接口 * @author javaw * */ public class TestController implements Controller { public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { return new ModelAndView("test").addObject("id", "123"); } }xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- **************** SpringMVC配置文件 1.xml配置方式 **************** --> <!-- Xml配置方式 映射器:org.springframework.web.servlet.hadler包下 BeanNameUrlHandlerMapping SimpleUrlHandlerMapping 适配器:org.springframework.web.servlet.mvc包下 SimpleControllerHandlerAdapter(Controller实现Controller接口) HttpRequestHandlerAdapter(Controller实现HttpRequestHandler接口) 视图解析器:org.springframework.web.servlet.view.InternalResourceViewResolver --> <!-- 定义Controller访问的路径 --> <bean name="/toTestPage.do" class="com.xy.controller.TestController"/> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean> <!-- jsp页面 prefix:前缀, suffix:后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"/> </bean> </beans>访问链接:
2.使用SimpleUrlHandlerMapping/HttpRequestHandlerAdapter
使用HttpRequestHandlerAdapter需要实现HttpRequestHandler接口,且request.getRequestDispatcher("")的地址需要指定全路径;package com.xy.controller; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.HttpRequestHandler; public class TestController1 implements HttpRequestHandler{ public void handleRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { request.getRequestDispatcher("/WEB-INF/test.jsp").forward(request, response); } }xml:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- **************** SpringMVC配置文件 1.xml配置方式 **************** --> <!-- Xml配置方式 映射器:org.springframework.web.servlet.hadler包下 BeanNameUrlHandlerMapping SimpleUrlHandlerMapping 适配器:org.springframework.web.servlet.mvc包下 SimpleControllerHandlerAdapter(Controller实现Controller接口) HttpRequestHandlerAdapter(Controller实现HttpRequestHandler接口) 视图解析器:org.springframework.web.servlet.view.InternalResourceViewResolver --> <!-- 定义Controller访问的路径 --> <bean id="toTestPage" class="com.xy.controller.TestController1"/> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/toTestPage1.do">toTestPage</prop> </props> </property> </bean> <bean class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean> </beans>访问链接:
Annotation配置方式
配置文件:<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.0.xsd"> <!-- **************** SpringMVCannotation配置文件 **************** --> <!-- Annotation配置方式 spring3.1之前:org.springframework.web.servlet.mvc.annotation 适配器:AnnotationMethodHandlerAdapter 映射器:DefaultAnnotationHandlerMapping spring3.1之后; org.springframework.web.servlet.mvc.method.annotation 适配器:RequestMappingHandlerAdapter 映射器:RequestMappingHandlerMapping 视图解析器:org.springframework.web.servlet.view.InternalResourceViewResolver --> <!-- 开启自动扫描 --> <context:annotation-config/> <!-- SpringMVC只扫描@Controller --> <context:component-scan base-package="com.xy.controller"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> <!-- <context:include-filter type="regex" expression="com.xy.controller.*Controller"/> --> </context:component-scan> <!-- 静态资源拦截访问 --> <mvc:resources mapping="/resources/**" location="/resources/"/> <!-- 完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"> <!-- 需要jar包jackson --> <property name="supportedMediaTypes" value="application/xml"/> </bean> </list> </property> </bean> <!-- 映射器注册 --> <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping"> <property name="interceptors"> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"/> </property> </bean> <!-- jsp页面 prefix:前缀, suffix:后缀 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/> <property name="prefix" value="/WEB-INF/"/> <property name="suffix" value=".jsp"/> </bean> <bean id="localResolver" class="org.springframework.web.servlet.i18n.SessionLocaleResolver"> <property name="defaultLocale" value="zh_CN"/> </bean> <!-- 配置文件上传 --> <!-- 需要jar包 commons-fileupload包 --> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver"> <!-- 默认编码 --> <property name="defaultEncoding" value="utf-8" /> <!-- 文件大小最大值 --> <property name="maxUploadSize" value="10485760000" /> <!-- 内存中的最大值 --> <property name="maxInMemorySize" value="40960" /> </bean> </beans>Controller:
package com.xy.controller; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; @Controller @RequestMapping(value="/test") public class TestController { @RequestMapping(value="/toTestPage.do") public ModelAndView toTestPage(HttpServletRequest request,HttpServletResponse response){ return new ModelAndView("test").addObject("id", "abc"); } }访问链接:
相关文章推荐
- Spring MVC--拦截器实现和用户登陆例子
- Java简单实现SpringMVC+MyBatis分页插件
- SpringMVC文件上传 多文件上传实例
- SpringMVC restful 注解之@RequestBody进行json与object转换
- spring mvc4的日期/数字格式化、枚举转换示例
- 解决springmvc+mybatis+mysql中文乱码问题
- SpringMVC入门小程序 -- Myeclipse 9.1下
- SpringMVC+Spring3+Hibernate4
- SpringMVC+MyBatis项目总结(一)
- SpringMVC+MyBatis项目总结(三)
- SpringMVC+MyBatis项目总结(四)
- springMVC+spring+Mybatis
- SpringMVC+mybatis+Spring框架整合+简单实现的demo
- Springmvc与jasperreport结合生成报表的一种方法 4000
- 蓝缘系统第三版本即将开源;基于springMVC+Apache shiro 1.2.3+Mybai
- SpringMVC 集成 JFinal Dao
- MVC三层架构在各框架中的特征
- springMVC注解之入门
- springMVC参数传递(一)
- springMVC参数传递(二)