SpringMVC 概述

SpringMVC 简介

SpringMVC是Spring框架的一部分,是在Spring3.0以后发布的。

 

SpringMVC的简单应用

用户提交一个请求,服务端处理器在接收到这个请求之后,给出一条欢迎信息。

​​​​​​​SpringMVC框架的执行流程

SpringMVC 概述_第1张图片 

​​​​​​​配置web.xml

url-pattern只能配*.do , 不能配  /* , 因为 /* 会匹配所有请求如果过来的是静态页面的请求,那么中央处理器把这个路径交给处理器,但是处理器找不到对应的东西所以这时会出现404错误

最好不要写为 / ,它也会拦截所有资源请求,但是,它只会处理动态资源请求

当添加图片的时候(链接js,css的时候),就会访问不到,因为图片的加载也是请求,而且图片属于静态请求,从而不会处理,所以导致加载不出来

 

Resultful 风格形式的请求路径方法,必须使用/ , 而不是*.do之类的。这就会出现上面所述的问题,下面是解决办法。

解决配成 / 后可以请求处理静态请求的方案:

 

方案一:

  

   default

   *.jpg

  

这样就会处理*.jpg的请求(把所有静态资源请求的路径都列出来)

default所对应的servlet类在tomcat中的conf的web.xml中已经配置其作用是专门匹配没有处理的静态资源的

方案二:

   在springmvc-servlet.xml中配置就可以了会将对静态资源的访问的请求通过HandlerMapping映射到默认Servlet请求处理器DefaultServletHttpRequestHandler对象。而该处理器调用了DefaultServlet来处理静态资源的访问请求

   当然想要使用标签,需要mvc约束



  SpringMVCDemoA
  
  
  	txg
  	org.springframework.web.servlet.DispatcherServlet
  	
  	
  		contextConfigLocation
  		classpath:springmvc-servlet.xml
  	
  	
  	1
  
  
  	txg
  	*.do
  

 

配置springmvc-servlet.xml

这个xml文件,默认情况下是要和web.xml在一个目录下,且命名格式为servlet-name的值加上-servlet.xml。这样才能找到这个xml文件。如果不是默认的要求,则需要配置下面的进行指定。

该xml文件是进行bean的注册的。

对于视图解析器,可以配置访问路径的前后缀,其原理就是字符串的拼接。



	
	
		
		
		
		
	
	
	

 

创建MyController类

实现Controller接口,并对MyController进行注册,在springmvc-servlet.xml中。

执行执行handleRequest方法,返回ModelAndView的对象。

mv.setViewName(“要显示的前端页面的路径,比如jsp的路径”)

 

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;
public class MyController implements Controller {
	@Override
	public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception{
		ModelAndView mv = new ModelAndView();
		//其底层执行的是request.setAttribute()方法
		mv.addObject("message", "hello SpringMVC");
		mv.setViewName("welcome");
		return mv;
	}
}

 

你可能感兴趣的:(#,T-JAVA)