(1)开发环境
创建
.解决maven项目创建过慢的问题:
archetypeCatalog
internal
创建direction:java,resources:右键:mark directory as(sources root和Resources root)
(2)导坐标(导包)
<spring.version>5.0.2.RELEASE</spring.version>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.0</version>
<scope>provided</scope>
</dependency>
(3)前端控制器
<web-app> <display-name>Archetype Created Web Application</display-name> <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>/</url-pattern> </servlet-mapping> </web-app>
(5)配置Tomcat服务器
(6)创建基本类,jsp页面
(7)导约束
<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">
(9)
<!--开启注解扫描--> <context:component-scan base-package="cn.rzpt"></context:component-scan>
@Controller public class HellController { @RequestMapping(path = "/hello") public String sayHello(){ System.out.println("hello springmvc"); return null; } }
(10)Tomcat启动springmvc.xml
<servlet> <servlet-name>dispatcherServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
@RequestMapping(path = "/hello") public String sayHello(){ System.out.println("hello springmvc"); //默认跳转到以success文件名的jsp页面 return "success"; }
创建success.jsp
<!--视图解析器对象--> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/WEB-INF/pages/"></property> <property name="suffix" value=".jsp" </bean>
<!--开启springmvc框架注解的支持--> <mvc:annotation-driven></mvc:annotation-driven>
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>入门程序</title> </head> <body> <a href="hello">入门程序</a> </body> </html>
启动步骤:
(1)启动服务器,加载一些配置文件
-
根据<load-on-startup>1</load-on-startup>配置,服务器创建DispatcherServlet对象
- 启动过程中,
<param-name>contextConfigLocation</param-name> <param-value>classpath:springmvc.xml</param-value> 被加载
- 根据springmvc.xml,自动扫描类,根据
@Controller public class HellController 创建成对象,默认加入spring容器中
-
<!--视图解析器对象--> <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> 可以创建对象
-
<!--开启springmvc框架注解的支持--> <mvc:annotation-driven></mvc:annotation-driven> 使
@RequestMapping(path = "/hello") 注解生效 public String sayHello()
(2)发送请求,
-
<a href="hello">入门程序</a>
- 发送到web.xml,url-pattern过滤,Servlet----DispatcherServlet(指挥中心,控制作用)
- 根据项目路径/hello,发送请求,到了自己编写的Servlet:
HellController
- 根据
@RequestMapping(path = "/hello"),执行sayHello方法,返回success字符串
-
<!--视图解析器对象--> <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> 根据这里的配置,转向success.jsp文件
-