关闭

Spring MVC简单入门

257人阅读 评论(0) 收藏 举报
分类:

最近看了“跟开涛学 SpringMVC”,想自己总结一下,算是复习了,下面介绍的是使用spring3.x注解方式新建一个web工程的helloword。

  

为什么要使用spring的注解?

1、可以大大减少spring的配置(抛弃了繁琐的的spring配置)

2、不用去继承框架的某个接口,这样就降低了与框架的耦合(低侵入)

  

基于注解的spring MVC

1、创建一个web 工程

2、在web.xml文件中配置如下内容

   

<servlet>
	<servlet-name>myspring</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>myspring</servlet-name>
	<url-pattern>/*.do</url-pattern>
</servlet-mapping>

  

 备注:默认是在WEB-INF目录下查找myspring-servlet.xml文件,前面的myspring需要与<servlet-name>myspring</servlet-name>对应起来。很多视频或者资料说是跟工程名对应,这个是不正确的 。

 

如果有多个配置文件,则可以使用“,”或则“空格”分隔,也可以使用正则表达式来匹配多个配置文件,例如:

 

<context-param>
	<param-name>contextConfigLocation</param-name>
	<param-value>
	  /WEB-INF/servlet1.xml,
	  /WEB-INF/servlet2.xml,
	  /WEB-INF/servlet2/ss*.xml
  </param-value>
</context-param>

 备注:添加上面这个配置,则是自定义配置文件的位置,当然WEB-INF目录下查找myspring-servlet.xml文件还是会自动加载的,彼此相互不影响。

 

 

3、指定显示页面的类型,和页面存放的位置

 

<!-- ViewResolver  视图解析类-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="viewClass"
		value="org.springframework.web.servlet.view.JstlView" />
	<property name="prefix" value="/WEB-INF/jsp/" />
	<property name="suffix" value=".jsp" />
</bean>

目的是指明显示的页面在/WEB-INF/jsp/目录下面,并且是以jsp结尾的文件。 

  

备注: InternalResourceViewResolver 支持JSP和JSTL的技术支持,如果想使用JSTL则需要引入相关的jar包

 

4、引入spring框架的处理包

<!--Spring3.1开始的注解 HandlerMapping -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping" />

<!--Spring3.1开始的注解 HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
	<!--线程安全的访问session -->
	<property name="synchronizeOnSession" value="true" />
</bean>

 

5、创建一个“控制器”,

    5.1 需要在类上添加@Controller 注解,表示这个类是一个控制器类

    5.2 里面的方法需要添加注解@RequestMapping(value = "/hello"),指定的访问路径

@Controller
public class HelloWorldController {

    @RequestMapping(value = "/hello")
    public ModelAndView helloWorld() {
		//1、收集参数
		//2、绑定参数到命令对象
		//3、调用业务对象
		//4、选择下一个页面
		ModelAndView mv = new ModelAndView();
		//添加模型数据 可以是任意的POJO对象
		mv.addObject("message", "Hello World!");
		//设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面
		mv.setViewName("hello");
		return mv;
	}
}

 

在spring配置文件中把该类交给spring容器管理

<bean class="adtec.function1.controller.HelloWorldController"/>

 

备注:如果地址栏输入http://server:port/project/hello.do则会执行helloWorld()方法,处理完该方法之后页面会跳转到前面配置的/WEB-INF/jsp/hello.jsp页面,在页面中使用${message},则会把Hello World!打印出来。

 

在浏览器地址栏中输入:http://localhost:8080/myspring/hello.do

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:322867次
    • 积分:8883
    • 等级:
    • 排名:第2228名
    • 原创:1096篇
    • 转载:14篇
    • 译文:0篇
    • 评论:5条
    最新评论