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
<?xml version="1.0" encoding="UTF-8"?>
<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">
<display-name>springMVC01_20170408</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list> <!-- 注册Spring MVC的核心控制器 -->
<servlet>
<servlet-name>DispatcherServlet</servlet-name>
<!-- ctrl+shift+t 搜索DispatcherServlet -->
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DispatcherServlet</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping> </web-app>
2.3:创建HelloAction.java控制器类
package com.bie.action; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller; /**
* @author BieHongLi
* @version 创建时间:2017年4月8日 下午3:39:12
* 控制器Action
* 处理器Action
*/
public class HelloAction implements Controller{ //业务方法
@Override
public ModelAndView handleRequest(HttpServletRequest httpServletRequest,
HttpServletResponse httpServletResponse) throws Exception {
//ModelAndView表示向视图封装的数据和路径
ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message","这是我的第一个SpringMVC程序,映射器,适配器,视图解析器都可以省略");
//真实路径
modelAndView.setViewName("/success.jsp");
return modelAndView;
} }
2.4:创建一个success.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>成功的页面</title>
</head>
<body> <h1>成功的页面Success.jsp</h1>
${requestScope.message }
</body>
</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【注意大小写】
<?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:p="http://www.springframework.org/schema/p"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="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.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd"> <!--
必写
1:注册Action
name:表示请求的路径
class:表示处理的全路径
-->
<bean name="/HelloAction.action" class="com.bie.action.HelloAction"> </bean> <!--
可选的:映射器,适配器,视图解析器
-->
<!--可选
映射器
org.springframework.web.servlet/handler/BeanNameUrlHandlerMapping.class
BeanNameUrlHandlerMapping:表示将Bean标签的name属性当作Url请求
-->
<bean class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping"> </bean> <!--可选
适配器
org.springframework.web.servlet/mvc/SimpleControllerHandlerAdapter.class
SimpleControllerHandlerAdapter:表示用于寻找实现了Controller借口的Action类
-->
<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"> </bean> <!--可选
视图解析器
org.springframework.web.servlet/view/InternalResourceViewResolver.class
InternalResourceViewResolver:表示通过ModelAndView对象中封装的视图名找到真正的页面 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> </bean> </beans>
最后运行即可,输入就是DispatcherServlet-servlet.xml的bean的name的值,如下所示:
<bean name="/HelloAction.action" class="com.bie.action.HelloAction">
</bean>
乘风破浪会有时,直挂云帆济沧海!!!《乘风破浪》这个电影蛮不错的,喜欢的可以去看看,~.~