SpringMVC中的HelloWorld的运行流程&web.xml的相关配置及详细解答
HelloWorld:细节
1、运行流程
- 1)、客户端点击链接会发送http://localhost:8080/springmvc/hello请求
- 2)、来到tomcat服务器
- 3)、SpringMVC的前端控制器收到所有请求;
- 4)、来看请求地址和@RequestMapping标注的哪个匹配,找到到底哪个哪个方法来处理
- 5)、前端控制器(DispatcherServlet) 找到了目标处理器类和目标处理方法,直接利用返回执行目标方法
- 6)、方法执行完成之后会有一个返回值;SpringMVC认为这个返回值就是要去的页面地址
- 7)、拿到了方法的返回值之后,用视图解析器进行拼串,就得到了完整的页面地址
- 8)、拿到页面地址,前端控制器帮我们转发到这个页面
2、@RequestMapping:
这个/是可以省略的,即使省略了,也默认是从当前项目下开始的
习惯上加上比较好 /hello
RequestMapping,既能用在方法上面,也能加在类上面
3、如果不指定配置文件的位置?
/WEB-INF/dispatcherServlet-servlet.xml
如果不指定配置文件,也会默认去找
/WEB-INF/dispatcherServlet-servlet.xml
web.xml的相关配置及其详细说明
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>Archetype Created Web Application</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>