1:其实一开始对SSH和SSM并不是很熟悉的,对SSH可能熟悉些(Struts,Spring,Hibernate)这三个框架。但是由于框架的更新,和出现了更好的框架,一些老框架就被淘汰了,但是呢,一些老公司依旧在用,所以学习的时候最好学习了,这样去公司还可以进行维护,甚至开发。但对于SSM呢(Spring,SpringMVC,MyBatis),LZ就不是很熟悉,所以就学习呗,今天记录一下SpringMVC入门,方便以后lz自己脑补。
2:使用框架呢,第一步肯定是导包了,而SpringMVC框架算是Spring的子项目吧,直接去Spring的libs里面找包就行了,开发步骤如下所示:
2.1:第一步:导包,导入Spring-core(IoC)包 ,Spring-web包,Spring-mvc的包,如下所示:
commons-logging-1.1.3.jar【Spring-core(IoC)包】
spring-beans-3.2.5.RELEASE.jar【Spring-core(IoC)包】
spring-context-3.2.5.RELEASE.jar【Spring-core(IoC)包】
spring-core-3.2.5.RELEASE.jar【Spring-core(IoC)包】
spring-expression-3.2.5.RELEASE.jar【Spring-core(IoC)包】
spring-web-3.2.5.RELEASE.jar【Spring-web包】
spring-webmvc-3.2.5.RELEASE.jar【Spring-mvc的包】
2.2:在/WEB-INF/下面创建一个web.xml文件,内容如下所示:
注意: servlet-name:这个名字需要特别注意一下,后面会用到;
servlet-class:ctrl+t+shift 搜索DispatcherServlet
或者Libraries/Web App Libraries/spring-webmvc-3.2.5.RELEASE.jar/DispatcherServlet.class
url-pattern:注意命名格式,不是/*,是*.action/*.do
1 <?xml version="1.0" encoding="UTF-8"?> 2 <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1"> 3 <display-name>springMVC01_20170408</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 13 <!-- 注册Spring MVC的核心控制器 --> 14 <servlet> 15 <servlet-name>DispatcherServlet</servlet-name> 16 <!-- ctrl+shift+t 搜索DispatcherServlet --> 17 <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> 18 </servlet> 19 <servlet-mapping> 20 <servlet-name>DispatcherServlet</servlet-name> 21 <url-pattern>*.action</url-pattern> 22 </servlet-mapping> 23 24 25 </web-app>
2.3:创建HelloAction.java控制器类
1 package com.bie.action; 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.Controller; 8 9 /** 10 * @author BieHongLi 11 * @version 创建时间:2017年4月8日 下午3:39:12 12 * 控制器Action 13 * 处理器Action 14 */ 15 public class HelloAction implements Controller{ 16 17 //业务方法 18 @Override 19 public ModelAndView handleRequest(HttpServletRequest httpServletRequest, 20 HttpServletResponse httpServletResponse) throws Exception { 21 //ModelAndView表示向视图封装的数据和路径 22 ModelAndView modelAndView = new ModelAndView(); 23 24 modelAndView.addObject("message","这是我的第一个SpringMVC程序,映射器,适配器,视图解析器都可以省略"); 25 //真实路径 26 modelAndView.setViewName("/success.jsp"); 27 return modelAndView; 28 } 29 30 31 }
2.4:创建一个success.jsp
1 <%@ page language="java" contentType="text/html; charset=UTF-8" 2 pageEncoding="UTF-8"%> 3 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 4 <html> 5 <head> 6 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 7 <title>成功的页面</title> 8 </head> 9 <body> 10 11 <h1>成功的页面Success.jsp</h1> 12 ${requestScope.message } 13 </body> 14 </html>
2.5:配置:DispatcherServlet-servlet.xml
在/WEB-INF/创建DispatcherServlet-servlet.xml配置文件;
(1)xml头部信息与spring.xml相同
(2)注意:该配置文件的命名规则:
web.xml文件中配置的<servlet-name>的值-servlet.xml
比如:DispatcherServlet-servlet.xml【注意大小写】
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 xmlns:p="http://www.springframework.org/schema/p" 5 xmlns:context="http://www.springframework.org/schema/context" 6 xsi:schemaLocation="http://www.springframework.org/schema/beans 7 http://www.springframework.org/schema/beans/spring-beans.xsd 8 http://www.springframework.org/schema/context 9 http://www.springframework.org/schema/context/spring-context.xsd 10 http://www.springframework.org/schema/aop 11 http://www.springframework.org/schema/aop/spring-aop.xsd 12 http://www.springframework.org/schema/tx 13 http://www.springframework.org/schema/tx/spring-tx.xsd"> 14 15 16 <!-- 17 必写 18 1:注册Action 19 name:表示请求的路径 20 class:表示处理的全路径 21 --> 22 <bean name="/HelloAction.action" class="com.bie.action.HelloAction"> 23 24 </bean> 25 26 27 <!-- 28 可选的:映射器,适配器,视图解析器 29 --> 30 <!--可选 31 映射器 32 org.springframework.web.servlet/handler/BeanNameUrlHandlerMapping.class 33 BeanNameUrlHandlerMapping:表示将Bean标签的name属性当作Url请求 34 --> 35 <bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> 36 37 </bean> 38 39 <!--可选 40 适配器 41 org.springframework.web.servlet/mvc/SimpleControllerHandlerAdapter.class 42 SimpleControllerHandlerAdapter:表示用于寻找实现了Controller借口的Action类 43 --> 44 <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"> 45 46 </bean> 47 48 49 <!--可选 50 视图解析器 51 org.springframework.web.servlet/view/InternalResourceViewResolver.class 52 InternalResourceViewResolver:表示通过ModelAndView对象中封装的视图名找到真正的页面 53 54 --> 55 <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> 56 57 </bean> 58 59 60 61 </beans>
最后运行即可,输入就是DispatcherServlet-servlet.xml的bean的name的值,如下所示:
<bean name="/HelloAction.action" class="com.bie.action.HelloAction">
</bean>
乘风破浪会有时,直挂云帆济沧海!!!《乘风破浪》这个电影蛮不错的,喜欢的可以去看看,~.~