springmvc之页面跳转案例
页面跳转案例
案例分析:
要让springmvc的后台去处理跳转页面,这些做的好处可以携带数据.后台接收请求,然后再进行跳转
项目步骤
1 , 在web-inf/web.xml配备前端控制器,任何请求都需要被这个前端控制器拦截到,再由这个前端控制器分发到后面的组件
去处理,很重要.
前端控制器已经springmvc已经帮我们封装好了,只需要配置servlet就好,
2 配置
springmvc对应的也有配置文件springconfig,在resource文件夹下配置springmvc.xml
springmvc的配置文件应该随着前端控制器的加载而加载
spring的配置文件是随着监听器的加载而加载
web.xml的编写
<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>
<!-- 加载springmvc.xml配置文件-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<!-- 提高dispatchServlet的加载时机,随着web的加载而加载-->
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
<!--"/"代表拦截所有请求-->
</servlet-mapping>
</web-app>
springmvc.xml的编写:
<!--开启包扫描-->
<context:component-scan base-package="com.qf"></context:component-scan>
<!-- 配置视图解析器-->
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/pages"></property>
<property name="suffix" value=".jsp"></property>
</bean>
<!-- 开启springmvc对于处理适配器,处理器映射器的支持-->
<mvc:annotation-driven></mvc:annotation-driven>
案例流程图:
先由前端控制器处理数据,后面交给视图解析器进行处理.
项目目录图:
案例步骤
搭建springmvc第一个案例
步骤:
(1) 创建web工程,引入相关的依赖
spring spring-context
springmvc spring-web spring-webmvc
servlet servlet-api jsp-api 作用域 provided
(2) 定义web.xml
定义前端控制器 DispatcherServlet
(3) 定义springmvc的配置文件 springmvc.xml
包扫描
<context:component-scan base-package="com.qf"></context:component-scan>
视图解析器
<bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/pages/"></property> -- 配置视图的前缀
<property name="suffix" value=".jsp"></property> --配置视图的后缀
</bean>
处理器适配器/处理器映射器
<mvc:annotation-driven></mvc:annotation-driven>
(4) 定义控制器 @Controller注解修饰
@RequestMapping 定义请求的url
@Controller
public class HelloController {
@RequestMapping("/hello")
public String sayHello(){
System.out.println("sayHello方法执行了.....");
return "success";
}