目录
1、Spring MVC使用Demo
按照项目创建步骤从零开始搭建一个SpringMVC项目
创建SpringMVC项目
打开Idea,选择new project创建maven管理的项目,如上操作。
填写项目名称,项目名称为SpringMVCDemo
2、SpringMVC依赖jar包
通过maven管理项目,依赖在pom.xml中添加
<!--Spring MVC依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>4.1.7.RELEASE</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.1.0</version> </dependency>
以上是SpringMVC必要的三个依赖,SpringMVC又属于Spring的一部分,需要让SpringMVC运行起来还需要Spring依赖,完全依赖jar包如:
3、添加web.xml配置文件配置前端控制器
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> <!-- springMvc前端控制器配置 --> <servlet> <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <!-- 第一种:*.action 或者 *.do,访问以.action或*.do结尾 由DispatcherServlet进行解析 第二种:/,所以访问的地址都由DispatcherServlet进行解析,对于静态文件的解析需要配置不让DispatcherServlet进行解析 使用此种方式可以实现 RESTful风格的url 第三种:/*,这样配置不对,使用这种配置,最终要转发到一个jsp页面时, 仍然会由DispatcherServlet解析jsp地址,不能根据jsp页面找到handler,会报错。 --> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
注意:前端控制器类是需要使用org.springframework.web.servlet.DispatcherServlet即该拦截器将所有请求统一交给该DispatcherServlet处理
4、创建spring-mvc.xml配置文件
在resources资源目录下,创建spring-mvc.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:context="http://www.springframework.org/schema/context" xmlns:mvc="http://www.springframework.org/schema/mvc" 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-4.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd"> <!-- 配置SpringMVC的需要扫描注解的包全路径 --> <context:component-scan base-package="com.tulun.controller"/> <!-- 处理器映射器、处理器适配器等采用SpringMVC提供的默认的处理器处理,就不需要显性配置--> <mvc:annotation-driven /> <!--配置视图解析器 --> <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" id="internalResourceViewResolver"> <!-- 前缀 --> <property name="prefix" value="/WEB-INF/jsp/" /> <!-- 后缀 --> <property name="suffix" value=".jsp" /> </bean>
如果配置了视图解析器的前缀和后缀,controller中的视图路径就不写前缀和后缀了,如果不配置,视图解析器就要写全路径名。
注:spring-mvc.xml文件的加载需要在web.xml文件中配置,配置如下:
5、编写controller层
@Controller public class ControllerDemo { @RequestMapping("tulun") public String tulun() { return "hello"; } }
6、编写jsp页面
在WEB-INF目录下添加jsp目录,将jsp页面都放在该目录下
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%> <!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>success</title> </head> <body> <h1>Hello TuLun</h1> </body> </html>
以上就是SpringMVC的配置及编程,代码的目录结构如下:
7、部署服务
web代码运行需要部署的服务器上,常见的web服务器有Tomcat、jetty。Jetty属于轻量级服务器,启动块。这里以jetty来使用部署服务,在idea中直接以插件的形式来添加jetty服务器
在pom.xml文件中的bulid标签下<pluginManagement>标签下找<plugins>标签添加:
<plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>maven-jetty-plugin</artifactId> <version>6.1.24</version> <configuration> <connectors> <connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"> <port>8080</port> <maxIdleTime>30000</maxIdleTime> </connector> </connectors> <contextPath>/</contextPath> </configuration> </plugin>
配置启动如下:
启动服务器
在浏览器输入:http://localhost:8080/tulun
浏览器就可以通过URL来匹配业务流程找到正确的jsp页面并正确展示出来。
以上就是SpringMVC的编程过程。