<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>
这个配置就是告诉tomcat,所有url连接,都让DispatcherServlet来处理
2、新建hello-servlet.xml文件,与web.xml文件在同一个目录下
<?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"> <!-- 自动扫描controller下的class,如果配置了注解,自动引入 --> <context:component-scan base-package="com.jt.controller"/> <!-- 开启注解模式,可以使用@的标记 --> <mvc:annotation-driven/> <!-- HandlerMapping --> <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"/> <!-- HandlerAdapter --> <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> <!-- 显示页面的路径,已/WEB-INF/JSP/开头,已.jsp结束,如果controller里的方法,返回一个hello,那么就会匹配这个文件/WEB-INF/jsp/hello.jsp --> <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> <!-- 通过配置文件引入一个bean,但通常用注解引入bean --> <bean name="/hello" class="com.jt.controller.HelloSpring"/> </beans>
3、写controller
第一种方法,使用配置文件:
public class HelloSpring implements Controller { @Override public ModelAndView handleRequest(HttpServletRequest req, HttpServletResponse resp) throws Exception { // 1、收集参数、验证参数 // 2、绑定参数到命令对象 // 3、将命令对象传入业务对象进行业务处理 // 4、选择下一个页面 ModelAndView mv = new ModelAndView(); // 添加模型数据 可以是任意的POJO对象 mv.addObject("message", "Hello World!"); // 设置逻辑视图名,视图解析器会根据该名字解析到具体的视图页面 mv.setViewName("hello"); return mv; } }
第二种方法,使用注解
@Controller public class HellAnnotation { @RequestMapping("/hello") public String hello() { System.out.println("hello"); return "hello";//找hello.jsp } @RequestMapping("/test") public String test() { System.out.println("test"); return "test";//找test.jsp } }
需要引入的jar包:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>3.2.3.RELEASE</version> </dependency> <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.3</version> </dependency>