使用Java配置的方式完成SpringMVC的搭建
2018-01-22 16:38
465 查看
SpringMVC请求过程 |
简单描述一下请求过程:
1.请求到达前端控制器DispatcherServlet,他的作用是将请求转发给相应的控制器(controller)
2.DispatcherServlet通过处理器映射得到具体是哪个控制器,然后将请求转发
3.控制器进行信息的处理,然后将模型打包(模型中是后台查出来需要展示给前台的信息),并且标示出用于渲染输出的视图名
4.DispatcherServlet在使用视图解析器(控制器不直接传给视图解析器名称,而是通过Servlet,这样是为了使控制器和视图解析器解耦)来匹配特定的视图进行渲染
搭建SpringMVC |
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer; /** * * @author CELINE * */ //扩展自Abstrac~Initializer的任意类,都会自动地配置Dispatcher-Servlet和Spring应用上下文 //spring的应用上下文会位于程序的Servlet上下文之中 public class SpittrWebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer { @Override protected Class<?>[] getServletConfigClasses() { return new Class<?>[] { WebConfig.class }; } //映射“/”,表示会使用默认的Servlet @Override protected String[] getServletMappings() { return new String[] { "/" }; } @Override protected Class<?>[] getRootConfigClasses() { // TODO Auto-generated method stub return null; } }
我们创建的SpittrWebAppInitializer这个类是继承了
AbstractAnnotationConfigDispatcherServletInitializer,任意继承自这个类的类都会自动的配置Dispatcher-Servlet和Spring应用上下文*,但是真正完成配置上下文的是WebApplicationInitializer的类
Spring Web中通常会有两种应用上下文,一种是Spring应用上下文,这种上下文通过DispatcherServlet加载,对应上边的getServletConfigClasses()方法,另一种上下文不是spring的就要通过ContextLoaderListerner创建,对应的是方法getRootConfigClasses()
AbstractAnnotationConfigDispatcherServletInitializer会同时创建DispatcherServlet和ContextLoaderListener
二、WebConfig
package spitter.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.ViewResolver; import org.springframework.web.servlet.config.annotation.DefaultServletHandlerConfigurer; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.view.InternalResourceViewResolver; @Configuration @EnableWebMvc @ComponentScan("spitter.web") public class WebConfig extends WebMvcConfigurerAdapter { /** * 配置JSP视图解析器,他会查找jsp文件,在查找的时候 * 他会在视图名称上加一个特定的前缀和后缀 * home的视图——解析成为/WEB-INF/views/home.jsp * @return */ @Bean public ViewResolver viewResolver(){ InternalResourceViewResolver resolver= new InternalResourceViewResolver(); resolver.setPrefix("/WEB-INF/views/"); resolver.setSuffix(".jsp"); resolver.setExposeContextBeansAsAttributes(true); return resolver; } /** * 通过调用enable方法,我们要求DispatcherServelet将 * 对静态资源的请求转发到Servlet容器中的默认的Servlet上, * 不是DispatcherServelet本身处理 * @param configurer */ public void configureDefaultServleHandling( DefaultServletHandlerConfigurer configurer){ configurer.enable(); } }
三、编写controller
package spitter.web; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; @Controller public class HomeController { @RequestMapping(value="/",method=RequestMethod.GET) public String home(){ //视图名为home //配置的InternalResourceViewResolver方式, //home会被解析成"/WEB-INF/views/home.jsp" return "home"; } }
四、定义简单的JSP页面
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!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=ISO-8859-1"> <title>Spitter</title> </head> <body> <h1>Welcome to Spittr!!!</h1> </body> </html>
运行一下,看一下效果:
成功!!~~That’s All
相关文章推荐
- [101]一步一步学懂spring - 使用Java配置的方式搭建SpringMvc
- Spring中配置JdbcTemplate的三种方式要使用Jdbctemplate 对象来完成jdbc 操作。
- springMVC 前后台日期格式传值解决方式之一(共二) @DateTimeFormat的使用和配置
- [准备篇6]VMWare搭建Openstack——使用VMnet的方式模拟多网卡的OpenStack环境配置(2)
- Java使用xml方式配置Log4j
- [java][servlet]模拟Servlet3.0使用注解的方式配置Servlet
- Java打包框架IzPack,搭建,配置,使用。
- SpringMVC使用注解方式配置IOC
- 搭建java开发环境+配置tomcat+使用eclipse______软件开发-JAVA
- CAS client客户端的配置,使用java config的方式
- 搭建SpringMVC (Java配置)
- 配置----Hibernate可配置的编程方式,驱动、URL、数据库访问岁用户名、密码等用使用Java代码手动加载!
- java后台接口开发框架SpringMVC框架搭建,环境配置,Tomcate服务器搭建
- 搭建java开发环境+配置tomcat+使用eclipse
- java程序使用纯JDBC方式操作SQLServer2005数据库(无需配置数据源)
- [准备篇5]VMWare搭建Openstack——使用VMnet的方式模拟多网卡的OpenStack环境配置(1)
- CentOS 6.3 FTP搭建,rpm安装、配置、测试,本文使用虚拟帐号登录方式
- JAVA_WEB项目之使用Spring的xml配置方式在项目中管理Lucene检索框架
- JavaWeb学习总结(四十八)——模拟Servlet3.0使用注解的方式配置Servlet
- I006-黑马程序员_毕向东_Java基础视频教程第01天-06-Java环境搭建(环境变量临时配置方式)