1.1创建maven_web项目
1.2创建Java和resources目录,将Java目录和resources目录分别变成Source Root和Resources Root
1.3导入maven坐标
1.4配置前端控制器 在web.xml中配置DispatcherServlet
1.5创建springmvc.xml配置文件 在resources目录上右键new --> XML Configuration File --> Spring Config
1.6部署Tomcat服务器
<properties>
<spring.version>5.0.2.RELEASEspring.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-contextartifactId>
<version>${spring.version}version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webartifactId>
<version>${spring.version}version>
dependency>
<dependency>
<groupId>org.springframeworkgroupId>
<artifactId>spring-webmvcartifactId>
<version>${spring.version}version>
dependency>
<dependency>
<groupId>javax.servletgroupId>
<artifactId>servlet-apiartifactId>
<version>2.5version>
<scope>providedscope>
dependency>
<dependency>
<groupId>javax.servlet.jspgroupId>
<artifactId>jsp-apiartifactId>
<version>2.0version>
<scope>providedscope>
dependency>
dependencies>
<servlet>
<servlet-name>dispatcherServletservlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
servlet>
<servlet-mapping>
<servlet-name>dispatcherServletservlet-name>
<url-pattern>/url-pattern>
servlet-mapping>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
beans>
需求:运行服务器后在主页点击主页的链接,跳转到success.jsp页面,并且在控制台输出一句话。
做好如上六步后,首先在index.jsp文件中编写页面代码
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>入门程序title>
head>
<body>
<h3>入门程序h3>
<a href="hello">入门程序a>
body>
html>
之后在java类路径下创建一个HelloController类文件,作为控制器类
//控制器类
@Controller
public class HelloController {
@RequestMapping(path = "/hello")
public String sayHello(){
System.out.println("Hello SpringMVC");
//写上success,在经过@RequestMapping注解的支持,就会默认跳转到success.jsp文件,当然需要配置好文件目录地址
return "success";
}
}
在WEB-INF目录下创建pages目录,在pages目录下创建success.jsp文件
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Titletitle>
head>
<body>
<h3>入门程序配置成功!h3>
body>
html>
在springmvc.xml配置文件中添加spring注解支持、视图解析器对象和springmvc直接扫描支持
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
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
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd">
<context:component-scan base-package="cn.rzpt">context:component-scan>
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/pages/">property>
<property name="suffix" value=".jsp">property>
bean>
<mvc:annotation-driven/>
beans>
最后在web.xml配置文件中配置加载springmvc.xml文件
<web-app>
<display-name>Archetype Created Web Applicationdisplay-name>
<servlet>
<servlet-name>dispatcherServletservlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServletservlet-class>
<init-param>
<param-name>contextConfigLocationparam-name>
<param-value>classpath:springmvc.xmlparam-value>
init-param>
<load-on-startup>1load-on-startup>
servlet>
<servlet-mapping>
<servlet-name>dispatcherServletservlet-name>
<url-pattern>/url-pattern>
servlet-mapping>
web-app>
最后运行Tomcat服务器,查看结果展示。
@Target({ElmentType.Method,ElementType.TYPE})表示RequestMapping注解可以作用在类或者方法上面
path与value属性:用于指定请求参数的URL
@AliasFor(“path”)与@AliasFor(“value”)表示path属性和value属性可以通用
method属性:表示用于指定请求的方式
常用:POST,GET
params属性:用于指定限制请求参数的条件。要求请求参数的key和value必须与配置的一模一样
headers属性:用于指定限制请求消息头的条件
请求参数绑定就是将视图页面提交的数据,在后台的方法中进行封装,对方法中的参数赋值的过程。
可以参数绑定的数据类型:
参数绑定的要求:页面提交的参数的name必须与后台方法中参数名相同
基本数据类型绑定:
对实体类进行绑定: 对实体类进行绑定时,必须要将视图页面的参数名与实体类的属性名一一对应,之后在后台方法的参数中加上实体类参数即可封装。
扩展:当实体类中引用了其他对象,要对引用的对象也一起封装,可以参考如下这样。(实体类中都包含get和set方法)
解决中文请求参数乱码问题:在web.xml中配置过滤器。
注:如果
标签报错,调整filter过滤器的位置即可,将filter过滤器紧跟
标签后面即可。