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>