SpringMVC学习一
- 1.简单的SpringMVC
- 2.常见的三种HandlerMapping
- 3.通过springmvc来完成接受参数。
- 4.用注解替代配置信息
- Tips:插件下载
1.简单springMVC
1.1 引入jar包
1.2在web.xml中配置Dispatcher,(ctrl,shift+t)
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> 3 <display-name>SpringMVC09_02</display-name> 4 <welcome-file-list> 5 <welcome-file>index.html</welcome-file> 6 <welcome-file>index.htm</welcome-file> 7 <welcome-file>index.jsp</welcome-file> 8 <welcome-file>default.html</welcome-file> 9 <welcome-file>default.htm</welcome-file> 10 <welcome-file>default.jsp</welcome-file> 11 </welcome-file-list> 12 <servlet> 13 <servlet-name>springMVC</servlet-name> 14 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 15 <init-param> 16 <param-name>contextConfigLocation</param-name> 17 <param-value>classpath:springMVC-servlet.xml</param-value> 18 </init-param> 19 </servlet> 20 <servlet-mapping> 21 <servlet-name>springMVC</servlet-name> 22 <url-pattern>*.do</url-pattern> 23 </servlet-mapping> 24 </web-app>
1.3配置springmvc配置文件
1.4Controller
1 package com.zhiyou100.zhl.controller; 2 3 import javax.servlet.http.HttpServletRequest; 4 import javax.servlet.http.HttpServletResponse; 5 6 import org.springframework.web.servlet.ModelAndView; 7 import org.springframework.web.servlet.mvc.AbstractController; 8 9 public class MyController extends AbstractController{ 10 11 @Override 12 protected ModelAndView handleRequestInternal(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception { 13 ModelAndView mv=new ModelAndView(); 14 mv.setViewName("login"); 15 mv.addObject("username", "HelloWord"); 16 System.out.println("=============MyController"); 17 return mv; 18 } 19 20 }
2.常见的HandlerMapping
BeanNameUrlHandlerMapping:根据bean标签的name找到对应的Controller类
ControllerClassNameHandlerMapping:根据类的名称找到对应的类
SimpleUrlHandlerMapping:根据bean的id查找对应的Controller类
1 <?xml version="1.0" encoding="UTF-8"?> 2 <beans xmlns="http://www.springframework.org/schema/beans" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.springframework.org/schema/beans 5 http://www.springframework.org/schema/beans/spring-beans.xsd"> 6 <!--111 BeanNameUrlHandlerMapping:根据bean标签的name找到对应的Controller类 --> 7 <!-- <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"></bean> --> 8 9 <!-- 222 ControllerClassNameHandlerMapping:根据类的名称找到对应的类--> 10 <bean class="org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping"></bean> 11 12 <!--333 SimpleUrlHandlerMapping:根据bean的id查找对应的Controller类 --> 13 <!-- <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 14 <property name="mappings"> 15 <props> 16 <prop key="/a.do">my1</prop> 17 <prop key="/b.do">my2</prop> 18 </props> 19 </property> 20 </bean> --> 21 22 <!-- 111 --> 23 <!-- <bean name="/my.do" class="com.zhiyou100.zhl.controller.MyController"></bean> --> 24 25 <!-- 222 --> 26 <bean class="com.zhiyou100.zhl.controller.MyController2"></bean> 27 28 <!-- 333 --> 29 <!-- <bean id="my1" class="com.zhiyou100.zhl.controller.MyController"></bean> 30 <bean id="my2" class="com.zhiyou100.zhl.controller.MyController2"></bean> --> 31 32 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 33 <property name="prefix" value="/WEB-INF/view/"/> 34 <property name="suffix" value=".jsp"/> 35 </bean> 36 37 </beans>
3.注解替代配置信息
3.1此部分需要额外的aop.jar包,上面的链接已经提供下载
接下来在SpringMVC配置文件中加入以下代码
<!-- 1.包扫描:扫描注解所在的包,controller类所在的包 --> <context:component-scan base-package="com.zhiyou100.zhl.controller"></context:component-scan> <!-- 2.开启注解驱动AnnotationHandlerMapping --> <mvc:annotation-driven/>
3.2创建Controller类,带有@Controller的将会被扫描到
1 @Controller 2 @RequestMapping("/users/") 3 public class UsersController { 4 5 @RequestMapping("list.do") 6 public String list(String uname,String age) { 7 System.out.println("uname:"+uname+"======"+"age:"+age); 8 return "list"; 9 } 10 11 @RequestMapping("list2.do") 12 public String list2(Users users) { 13 System.out.println(users); 14 return "list"; 15 } 16 }
Tips.为了方便编程人员,建议装一个插件,更多方便的快捷方式与功能可以提高效率
笔者用的是Eclipse,步骤如下