springMVC常用知识点归纳(web.xml/spring-mvc.xml)

一、引入依赖

springMVC常用知识点归纳(web.xml/spring-mvc.xml)_第1张图片

二、xml配置

1.web.xml



	springMVC_demo1
	
		index.jsp
	
	
	
	
		springDispatcherServlet
		org.springframework.web.servlet.DispatcherServlet
		
			contextConfigLocation
			classpath:spring-mvc.xml
		
		1
	
	
		springDispatcherServlet
		/
	
 
    
	
		hiddenHttpMethodFilter
		org.springframework.web.filter.HiddenHttpMethodFilter
	
	
		hiddenHttpMethodFilter
		/*
	
 
	
	
		encodeFiler
		org.springframework.web.filter.CharacterEncodingFilter
		
			encoding
			utf-8
		
	
	
		encodeFiler
		/*
	

2.spring-mvc.xml



 
	
	
	
	
	
		
		
			
				
			
		
	
 
    
	
	
	
	
 
    
	
	
	
	
		
		
	
 

三、注解配置

1.springMVC常用注解

@Controller

@RequestMapping("user"),@RequestMapping(value = "{id}",method = RequestMethod.DELETE),可用method匹配请求

@SessionAttributes(names = {"user","name"}),加在类上

@ResponseBody,向ajax响应对象时配合Jackson.jar使用(obj==>json),在springmvc中使用以html结尾的请求,返回的数据格式都是text(文本格式的),非json格式

@RequestParam(value = "id",defaultValue = "123"),不加()时,按变量名匹配

@PathVariable("id")(restful风格常用这个注解),不加("")时,按变量名匹配;@RequestMapping("xx/{id}/{n}"),{}以外的部分参与请求路径的匹配,

@ControllerAdvice,全局异常处理,加在类上

@ExceptionHandler,局部异常处理,加在方法上

@InitBinder,预处理,如日期格式处理

@DateTimeFormat(pattern = "yyyy-MM-dd"),添加在实体类的属性上

后端验证可以使用hibernate validate注解,需要引包

 四、Controller方法的返回值

1.String

经过视图解析器,如果在Controller方法的参数列表中写了Model或Map对象,model或map中的键值对将存在request中

但如果返回的String为"forward:index.jsp"(请求转发)或"redirect:index.jsp"(重定向),则绕过视图解析器

注意"forward:/index.jsp"或"redirect:/index.jsp"中的"/"代表服务器中项目根目录

2. ModelAndView

ModelAndView mv = new ModelAndView("error");
mv.addObject("errMsg",exception.getMessage());//数据存在request中
return mv;//经过视图解析器

 3.方法上加了@ResponseBody注解

 返回的数据不经过视图解析器,直接放入响应体中,向ajax响应对象时配合Jackson.jar使用,可以自动将Java对象转成json格式的字符串

你可能感兴趣的:(Java,web)