spring mvc 如何配置最简洁的
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring mvc 如何配置最简洁的相关的知识,希望对你有一定的参考价值。
SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。通过策略接口,Spring框架是高度可配置的,而且包含多种视图技术,例如JavaServerPages(JSP)技术、Velocity、Tiles、iText和POI。SpringMVC框架并不知道使用的视图,所以不会强迫您只使用JSP技术。SpringMVC分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。Lifecycleforoverridingbinding,validation,etc,易于同其它View框架(Tiles等)无缝集成,采用IOC便于测试。它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比struts所没有的优势。而且框架本身有代码,看起来容易理解。关于SpringMVCController层的单元测试测试准备工作:1、搭建测试Web环境12345@RunWith(UnitilsJUnit4TestClassRunner.class)@SpringApplicationContext("classpath:*.xml","file:src/main/webapp/WEB-INF/spring-configuration/*.xml","file:src/main/webapp/WEB-INF/*.xml")2、注入Controller类12@ControllerBeanControllercontroller;3、编写测试数据测试数据的文件名一定要与测试类的文件名相同,比如测试数据BeanControllerTest.xml,测试类BeanControllerTest。4、注入测试数据123@Test@DataSetpublicvoidtestBean()MVC已经是现代Web开发中的一个很重要的部分,下面介绍一下SpringMVC的一些使用心得。之前的项目比较简单,多是用JSP、Servlet+JDBC直接搞定,在项目中尝试用Struts(StrutsMVC)+Spring+Hibernate,严格按照分层概念驱动项目开发,因项目需求一直不断变化,功能不断扩充、增强,技术构建也几经改变到目前有个稳定的应用,体会了很多感受,这次先对SpringMVC层进行一些个人总结。MVC作为WEB项目开发的核心环节,正如三个单词的分解那样,C(控制器)将V(视图、用户客户端)与M(模块,业务)分开构成了MVC,这边不去讨论项目中是否应用MVC,也不针对MVC的实现原理进行讲解,而是探讨实践中如何从应用SSH,到Struts(StrutsMVC)+Spring+Hibernate的演化过程。先看Struts如何与Spring结合处理一次简单的请求响应代码,前台可以设为用AJAX调用:1.在struts-config.xml文件中加入2.在applicationContext.xml文件中加入3.cn.base.GetPersonListAction实现请求响应代码可以看出一次请求需求如此多的步骤,在加上一个项目下来有很多这样的请求响应,将给配置文件管理带来很大的麻烦。经过对Spring的深入应用,Spring本身提供的URL请求控制,对其天然支持可以让我们不需要applicationContext.xml再次声明一次URL请求Bean,即减少了Struts的声明URL,达到减少些繁琐的配置。但只是少了一些而已,同样也会面临着配置文件的管理问题。Spring注解将给我们的工作带来些轻松,利用反射机制原理出现的注解就是为了解决配置大量的配置问题。请看下处理一次简单的请求响应代码@Controller--声明控制器@RequestMapping("/person")–声明URLpublicclassPersonControlextendsBaseController@Autowired–业务接口注入privatepersonServicespersonServices;/***获得人员列表*@paramrequest*@paramresponse*@throwsException*/@RequestMapping(params="method=geList")--即处理/person.do?method=geList方法publicvoidgetnodeList(HttpServletRequestrequest,HttpServletResponseresponse)throwsException//处理请求//处理响应可以看出,在代码上加入注解可以省去我们上面说的多个配置文件的工作,达到简便的MVC处理请求响应。在配上简单的配置文件声明,即可轻松处理项目的全部请求控制工作。SpringMVC乱码问题在使用SpringMVC做javaWeb项目时,乱码问题时常都会出现,解决方法也不尽相同,有简单也有复杂的;如果加入了Spring框架之后就不一样了,可以采用Spring框架自带的过滤器CharacterEncodingFilter,这样可以大大减轻了我们的工作量,即简单方便又容易理解,配置方式如下:在web.xml文件中filter的位置加上如下内容:encodingFilterorg.springframework.web.filter.CharacterEncodingFilterencodingUTF-8forceEncodingtrueencodingFilter*.htmspringmvc实现上传文件代码片段@Controller@RequestMapping("/common")publicclassCommonController@RequestMapping(value="/upload")public@ResponseBodyStringupload(@RequestParam("file")MultipartFilefile,HttpSessionsession)throwsExceptionFilelocalFile=newFile("c:/test/a.rar");file.transferTo(localFile);return"success"; 参考技术A <?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi=""
xmlns="" xmlns:web="/web-app_3_0.xsd"
xsi:schemaLocation=" /web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<!-- spring mvc servlet -->
<servlet>
<description>spring mvc servlet</description>
<servlet-name>springMvc</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<description>spring mvc 配置文件</description>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:spring-mvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>本回答被提问者采纳
spring mvc超强的json支持,你自己根本不需要额外的配置。spring mvc都给你配置好了!!!
SpringMVC层跟JSon结合,几乎不需要做什么配置,代码实现也相当简洁。再也不用为了组装协议而劳烦辛苦了!
2.一、Spring注解@ResponseBody,@RequestBody和HttpMessageConverter
Spring 3.X系列增加了新注解@ResponseBody,@RequestBody
- @RequestBody 将HTTP请求正文转换为适合的HttpMessageConverter对象。
- @ResponseBody 将内容或对象作为 HTTP 响应正文返回,并调用适合HttpMessageConverter的Adapter转换对象,写入输出流。
- 本文转自http://snowolf.iteye.com/blog/1628861 感谢作者
以上是关于spring mvc 如何配置最简洁的的主要内容,如果未能解决你的问题,请参考以下文章
如何在带有注解配置的spring mvc中使用spring数据
如何纯注解整合Spring SpringMVC Mybatis
如何使用 Spring MVC & Security、Jasig CAS 和 JSP 视图在 Spring Boot 2 中配置 UTF-8?
Gradle 如何配置构建文件以从同一项目创建 Spring boot jar 和 spring web-mvc war