springMVC入门-01

这一系列是在看完网上SpringMVC(基于spring3.0)入门视频之后的个人总结,仅供参考,其中会添加一些个人的见解。

1、搭建SpringMVC所需jar包:

org.springframework.aop-3.1.3.RELEASE.jar
org.springframework.asm-3.1.3.RELEASE.jar
org.springframework.aspects-3.1.3.RELEASE.jar
org.springframework.beans-3.1.3.RELEASE.jar
org.springframework.context.support-3.1.3.RELEASE.jar
org.springframework.context-3.1.3.RELEASE.jar
org.springframework.core-3.1.3.RELEASE.jar
org.springframework.expression-3.1.3.RELEASE.jar
org.springframework.instrument.tomcat-3.1.3.RELEASE.jar
org.springframework.instrument-3.1.3.RELEASE.jar
org.springframework.jdbc-3.1.3.RELEASE.jar
org.springframework.jms-3.1.3.RELEASE.jar
org.springframework.orm-3.1.3.RELEASE.jar
org.springframework.oxm-3.1.3.RELEASE.jar
org.springframework.test-3.1.3.RELEASE.jar
org.springframework.transaction-3.1.3.RELEASE.jar
org.springframework.web.portlet-3.1.3.RELEASE.jar
org.springframework.web.servlet-3.1.3.RELEASE.jar
org.springframework.web.struts-3.1.3.RELEASE.jar
org.springframework.web-3.1.3.RELEASE.jar
commons-logging-1.1.1.jar

2、web.xml配置文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
 id="WebApp_ID" version="2.5">

<!--默认加载hello-servlet.xml文件中的bean-->
 <servlet>
  <servlet-name>hello</servlet-name>

  <!--声明拦截器为spring的dispatcherservlet-->
  <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-->
  <url-pattern>/</url-pattern>
 </servlet-mapping>
</web-app>
View Code

 

 

3、hello-servlet配置文件

  因为在web.xml配置文件中添加了拦截器,契约优先使用servlet-name为hello的hello-servlet.xml文件加载配置bean,也可以不使用默认的hello-servlet.xml配置文件,使用init-param子节点来加载配置bean,此处不详述。

  方式一使用annotation注解方式实现:

  <context:component-scan base-package="zttc.itat.controller"/>
     <mvc:annotation-driven/>

  方式二使用bean方式实现:

  <bean name="/welcome.html" class="zttc.itat.controller.WelcomeController"/>

  使用InternalResourceViewResolver类来指定页面跳转的前缀后缀路径。

<?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"
 xmlns:mvc="http://www.springframework.org/schema/mvc"
 xsi:schemaLocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd
  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-3.1.xsd">
 
<!--加载bean,映射请求方式一:使用annotation方式加载(常用)-->
    <context:component-scan base-package="zttc.itat.controller"/>
    <mvc:annotation-driven/>


    <!--加载bean,映射请求方式二:使用InternalResourceViewResolver(不常用)-->
    <bean name="/welcome.html" class="zttc.itat.controller.WelcomeController"></bean>
    
    <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>
    
</beans> 
View Code

 

4、编写controller逻辑代码,因为在hello-servlet.xml文件中声明了两种映射请求的方法,因此在这里使用两个controller用以区分不用的方式:

方式一对应代码:

package zttc.itat.controller;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.AbstractController;

public class WelcomeController extends AbstractController {

    @Override
    protected ModelAndView handleRequestInternal(HttpServletRequest arg0,
            HttpServletResponse arg1) throws Exception {
        return new ModelAndView("welcome");
    }

}
View Code

 

方式二对应代码:

package zttc.itat.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;


@Controller
public class Hellocontroller{

    @RequestMapping("/hello")
    public String hello()
    {
        return "hello";
    }

}
View Code

 

以上两种方式会实现页面的映射,对应通过new一个ModelAndView("welcome")方式实现会在浏览器输入url:http://localhost:8080/springMVC001/welcome.html之后(welcme.html为在hello-servlet.xml配置文件中那个指定的标识符)跳转到以/WEB-INF/jsp/为前缀,以jsp为后缀,文件名为welcome,即/WEB-INF/jsp/welcome.jsp;对应通过annotation注解方式实现会在浏览器输入url:http://localhost:8080/springMVC001/hello之后(/hello为在代码中使用@RequestMapping("/hello")方式指定的标识符)跳转到/WEB-INF/jsp/hello.jsp页面。

附注:对应工程结构如下图所示:

posted @ 2015-03-01 11:39  birdman-peter  阅读(151)  评论(0编辑  收藏  举报