Spring4MVC使用记录

以前一直都是用的ssh做项目,MVC这个当然就主要用的struts,初次学习springMVC,这里参考网上资料,对springMVC做一些学习记录:

Spring MVC与Struts2两者的比较:

Spring MVC相对来说要轻量级些,它 是基于方法设计,而 Sturts2 是基于类, 每次发一次请求都会实例一个 Action。

Spring MVC 使用更加简洁, 开发效率 Spring MVC 确实比 struts2 高:springMVC支持 JSR303, 处理 ajax 的请求更方便。

Struts2 的 OGNL 表达式使页面的开发效率相比 Spring MVC 更高些。

就两者来说,都是controller层的框架,作用都是接收request请求,中间调用业务逻辑代码,最后返回reponse响应,不用刻意远离SSH,也不用一味追求Spring MVC。总之,合适的就是最好的。


搭建SpringMVC步骤:

1.引入jar包;

2.编写controller相关的代码;

package controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;

import service.ITestService;
@Controller //类似Struts的Action
public class TestController {
	@Autowired
	private ITestService testService;
	
	@RequestMapping(value="/test1") // 请求url地址映射,类似Struts的action-mapping
	@ResponseBody //@responsebody表示该方法的返回结果直接写入HTTP response body中一般在异步获取数据时使用,在使用@RequestMapping后,返回值通常解析为跳转路径,加上@responsebody后返回结果不会被解析为跳转路径,而是直接写入HTTP response body中。
	public String test1(@RequestParam(value = "paramname",required = true)String test){
		//@RequestParam是指请求url地址映射中必须含有的参数(除非属性required=false),可简写为:@RequestParam("paramname")
		return testService.test();
	}
}
3.编写springMVC配置文件spring-mvc.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
     xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans 
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context.xsd
        http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc.xsd">
	
	<!-- 自动扫描bean,把作了注解的类转换为bean -->
	<context:component-scan base-package="controller"></context:component-scan>
	
	<!-- 配置返回类型 -->
    <mvc:annotation-driven>
        <mvc:message-converters register-defaults="true">
            <bean class="org.springframework.http.converter.StringHttpMessageConverter">
                <property name="supportedMediaTypes">
                    <list>
                        <value>text/plain;charset=UTF-8</value>
                        <value>text/html;charset=UTF-8</value>
                    </list>
                </property>
            </bean>
           
        </mvc:message-converters>
    </mvc:annotation-driven>
    
	<!-- 对转向页面的路径解析 controller方法返回的字符串解析,如:返回的loginSuccess字符串,则跳转到/WEB-INF/views/loginSuccess.jsp页面,<span style="font-family: Arial, Helvetica, sans-serif;">@ResponseBody 加了除外</span><span style="font-family: Arial, Helvetica, sans-serif;">--></span>
	<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="100"
		p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/views/" p:suffix=".jsp"/>
	


</beans>

4.配置web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <!-- =======================================配置文件=================================== -->
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			/WEB-INF/config/spring-*.xml
		</param-value>
	</context-param>
	
	
	<!-- ====================sring ContextLoaderListener监听器========================= -->
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	
	
     <!-- ====================调度用servlet========================= -->
     <servlet>
 		<servlet-name>springmvc</servlet-name>
 		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 请求分发控制器 -->
 		<!-- 可以自定义servlet.xml配置文件的位置和名称,默认为WEB-INF目录下,名称为[<servlet-name>]-servlet.xml,如springmvc-servlet.xml-->
 		<init-param>
 			<param-name>contextConfigLocation</param-name>	
 			<param-value>WEB-INF/config/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>
   
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
  
  
</web-app>
5.发布项目,开始访问:http://ip:port/projectname/test1?paramname=test


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值