1.快速入门
步骤:
1) 建立项目
2) 导入springioc,springweb相关jar包
3) 在/WEB-INF/
下创建web.xml
文件:
4) 创建控制器
什么是springMVC, 它和spring有什么关系?
SpringMVC属于Spring的后续产品,用在基于MVC的表现层开发,类似于structs2框架。
注意:servlet是一个单例
我们如果在web.xml
注册了DispatcherServlet
之后, 系统会自动找/WEB-INF/<servlet-name>-servlet.xml
,注意目录和名字。
<!-- 注册springmvc核心控制器 --><servlet> <servlet-name>DispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class></servlet><servlet-mapping> <servlet-name>DispatcherServlet</servlet-name> <url-pattern>*.action</url-pattern></servlet-mapping>
导包:
图片.png
ModelAndView中,逻辑名称和真实名称
我们在Action中,
public class HelloAction implements Controller { /** * 处理请求/业务方法 * @param httpServletRequest * @param httpServletResponse * @return * @throws Exception */ public ModelAndView handleRequest(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { /** * ModelAndView表示向视图封装的数据和路径 */ ModelAndView modelAndView = new ModelAndView(); modelAndView.addObject("message", "this my first springmvc application"); //modelAndView.setViewName("/jsp/success.jsp"); // 真实路径 modelAndView.setViewName("success"); // 逻辑名称 return modelAndView; } }
我们在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:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd "> <!-- 这个Action --> <!-- Action处理类: class 代表处理类的全路径 name 代表请求路径 --> <bean name="/hello.action" class="com.ypd.springmvc2.controller.HelloAction"></bean> <!-- 如果Action中熟悉而的是视图逻辑名称,那么视图解析器就必须配置 如果是真实名称,就可选配置 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 路径前缀 --> <property name="prefix" value="/jsp/"></property> <!-- 路径后缀 --> <property name="suffix" value=".jsp"></property> <!-- 前缀+逻辑名+后缀=真实路径 --> </bean></beans>
就是说如果使用逻辑名称:那么我们需要在DispatcherServlet-servlet.xml中配置视图解析器:
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <!-- 路径前缀 --> <property name="prefix" value="/jsp/"></property> <!-- 路径后缀 --> <property name="suffix" value=".jsp"></property> <!-- 前缀+逻辑名+后缀=真实路径 --> </bean>
JSP取得绝对根路径
${pageContext.request.contextPath}
JSP取得绝对路径
映射器 Mapping
什么样的请求交给Action
可以将多个action的映射交给一个<bean>标签为id的Action来处理:
作者:廖马儿
链接:https://www.jianshu.com/p/49344b95af7e