Spring MVC快速体验
来源:互联网 发布:ipad如何升级淘宝店铺 编辑:程序博客网 时间:2024/05/16 10:47
Spring MVC 快速体验的五个步骤:
1. 配置web.xml
2. 创建Spring配置文件applicationContext.xml
3. 创建model
4. 创建controller
5. 创建视图文件userlist.jsp
6. 创建Servlet配置文件Spring-servlet.xml
1. 配置web.xml
一个web中可以没有web.xml文件,也就是说,web.xml文件并不是Web工程必须的。web.xml文件用来初始化配置信息:比如Welcome页面、servlet、servlet-mapping、filter、listener、启动加载级别等。
下面来看看Spring MVC中web.xml文件的配置方法:
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 使用ContextLoaderListener配置时,需要告诉它Spring配置文件的未知--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!-- SpringMVC的前端控制器 --> <!-- 当 DispatcherServlet 载入后,会从Spring-servlet.xml文件中加载Spring应用的上下文--> <!-- DispatcherServlet 主要用来加载包含Web组件的bean,如控制器、视图解析器 以及 处理器映射--> <servlet> <servlet-name>Springmvc</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:Spring-servlet.xml</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>Springmvc</servlet-name> <url-pattern>*.htm</url-pattern> </servlet-mapping> <!--配置上下文载入器--> <!-- 上下文载入器载入除DispatcherServlet加载的其它应用中的bean。这些bean通常是驱动应用后端的中间层和数据层组件 --> <!-- 最常用的上下文载入器是一个Servlet监听器,其名称为ContextLoaderListener--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener></web-app>
Spring的MVC之所以必须要配置web.xml,其实最关键的是要配置两个地方。
- contextConfigLocation:Spring的核心就是配置文件,可以说配置文件是Spring中必不可少的东西,而这个参数就是使Web和Spring的配置文件相结合的一个关键配置。
- DispatcherServlet:包含了SpringMVC的请求逻辑,Spring使用此类拦截Web请求并进行相应的逻辑处理。DispatcherServlet 将试图从一个叫做
<servlet-name>-servlet.xml
的文件中载入应用上下文,其默认位于WEB-INF目录下。也可以通过contextConfigLocation来自定义位置。
2. 创建Spring配置文件applicationContext.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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/jsp/"></property> <property name="suffix" value=".jsp"></property> </bean></beans>
InternalResourceViewResolver是一个辅助Bean,会在ModelAndView返回的视图名前加上prefix指定的前缀,再在最后加上suffix指定的后缀。
3. 创建model
模型对于SpringMVC来说必不可少,如果处理程序非常简单,完全可以忽略。模型创建主要的目的就是承载数据,使数据传输更加方便。
public class User { private String username; private Integer age; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; }}
4. 创建controller
控制器用于处理Web请求,每个控制器都对应着一个逻辑处理。
import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.mvc.AbstractController;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.util.ArrayList;import java.util.List;public class UserController extends AbstractController { protected ModelAndView handleRequestInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) throws Exception { List<User> userList = new ArrayList<User>(); User userA = new User(); User userB = new User(); userA.setUsername("zhangsan"); userA.setAge(12); userB.setUsername("lisi"); userB.setAge(12); userList.add(userA); userList.add(userB); return new ModelAndView("userlist", "users", userList); }}
请求的最后返回了ModelAndView类型的实例。ModelAndView类在SpringMVC中占有很重要的地位,控制器执行方法都必须返回一个ModelAndView,ModelAndView对象保存了视图以及视图显示的模型数据,例如其中的参数如下。
- 第一个参数userlist:视图组件的逻辑名称。这里视图的逻辑名称就是userlist,视图解析器会使用该名称查找实际的View对象。
- 第二个参数users:传递给视图的,模型对象的名称。
- 第三个参数userList:传递给视图的,模型对象的值。
5. 创建视图文件userlist.jsp。
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><html><head> <title>This is SpringMVC demo pages</title></head><body> <c:forEach items="${users}" var="user"> <c:out value="${user.username}"></c:out> <br> <c:out value="${user.age}"></c:out> <br> </c:forEach></body></html>
视图文件用于展现请求处理结果,通过对JSTL的支持,可以很方便的展现在控制器中放入ModelAndView中的处理结果数据。
6. 创建Servlet配置文件Spring-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" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="simpleUrlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> <property name="mappings"> <props> <prop key="/userlist.htm">userController</prop> </props> </property> </bean> <!-- 这里的 id="userController"对应的是<bean id="simpleUrlMapping">中的<prop>里面的value--> <bean id="userController" class="UserController"/></beans>
因为SpringMVC是基于Servlet的实现,所以在Web启动的时候,服务器会首先尝试加载对应于Servlet的配置文件,而为了让项目更加模块化,通常我们将Web部分的配置都存放于此配置文件中。
至此,已经完成了SpringMVC的搭建,启动服务器,输入网址 http://localhost:8080/SpringMVC/userlist.html。
可以看到服务器返回界面,如下图所示。
- Spring MVC快速体验
- spring mvc 体验
- Spring MVC初体验
- Spring MVC初体验
- Spring MVC初体验
- spring mvc快速DMEO
- Spring MVC快速入门
- Spring MVC 快速入门
- spring MVC 快速入门
- spring MVC快速入门
- Spring MVC快速入门
- 快速搭建spring mvc
- Spring MVC快速入门
- Spring MVC快速入门
- Spring MVC快速入门教程
- Spring MVC快速入门教程
- SpringBoot6-Spring MVC-快速搭建spring mvc
- Spring MVC快速上手教程
- Spring.net的理解与初使用
- 小咖秀视频怎么下载? 小咖秀视频去logo保存到手机的方法
- 222. Count Complete Tree Nodes
- CCF CSP 2015年9月第4题 高速公路(求连通分量)
- STL简介
- Spring MVC快速体验
- RecyclerView的使用
- cmd编译运行java程序
- 代理模式の动态代理
- 周计划 补完工程 第十周 python进阶(1)
- Unity 各个方面的性能优化
- 无序数组中,三个数的乘积最大
- 生活日记1
- 647.Palindromic Substrings(动态规划)