SpringMVC简明教程(一)——搭建

来源:互联网 发布:2005至2008年网络歌曲 编辑:程序博客网 时间:2024/06/16 00:11

一、需要准备的资源

  1. JDK
  2. MyEclipse
  3. SpringMVC需要用的包 http://download.csdn.net/detail/fonxian/8804333

二、配置

1、在新建的动态Web工程中的lib中加入SpringMVC需要用的包
2、配置WEB-INF下的web.xml

 这里的servlet-class 可在MyEclipse —— Navigate —— OpenType ——输入DispatcherServlet即可找到
  <servlet>    <servlet-name>hello</servlet-name>    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>    <load-on-startup>1</load-on-startup>  </servlet>  <servlet-mapping>    <servlet-name>hello</servlet-name>    <url-pattern>/</url-pattern>  </servlet-mapping>

3、 配置WEB-INF下的hello-servlet.xml(这里的hello需要与web.xml中的对应起来)

   <beans ......>可在“SpringMVC需要用的包”中的docs中的beans.html文档中找到
<?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: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">  <bean name="/welcome.html" class="com.fonxian.controller.Controller" ></bean>

4、添加hello-servlet.xml中对应的类
其中的Controller类必须继承AbstractController类

public class Controller extends AbstractController {    @Override    protected ModelAndView handleRequestInternal(HttpServletRequest request,            HttpServletResponse response) throws Exception {        // TODO Auto-generated method stub        return new ModelAndView("welcome");    }}

5、在hello-servlet中添加找到视图的前后缀

  <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">    <property name="prefix" value="user/" />                  <property name="suffix" value=".jsp" />    </bean>

三、原理

Spring MVC结构图

1、请求DispatcherServlet分配给控制器(根据HandlerMapping处理器映射来决定)。

2、控制器完成处理后,请求发给一个视图(ViewResolver视图解析器来确定)来呈现输出结果

3、hello-servlet中配置的prefix和suffix的作用是为了ViewResolver找到Controller返回的ModelAndView。
例如页面是WebRoot/user/welcome.jsp,prefix = “user/ ,ModelAndView=”welcome”,suffix = “.jsp”

四、另一种方法
1、配置hello-servlet.xml,再原先的基础上加入下面代码(可在“SpringMVC需要用的包”中的docs中的mvc.html文档中找到)

 xsi:schemaLocation="      http://www.springframework.org/schema/mvc      http://www.springframework.org/schema/mvc/spring-mvc.xsd      ">     <context:component-scan base-package="com.fonxian.controller"/> <mvc:annotation-driven></mvc:annotation-driven>

2、新建类
这里的RequestMapping中字符数组的每个字符就相当于之前
return 返回的字符,就相当于之前的ModelAndView

@Controllerpublic class HelloController {    @RequestMapping({"/user","/admin"})    public String hello(){        return "hello";    }   }

3、这种方法更为高效

0 0
原创粉丝点击