SSM-SpringMVC(加载控制,自动转换JSON格式)

SpringMVC

今天从以下几个内容给大家介绍:

  1. SpringMVC简介
  2. SpringMVC的基础配置
  3. 注解驱动
  4. 请求映射
  5. 响应

SpringMVC简介

在介绍SpringMVC之前先看看什么是MVC:
SSM-SpringMVC(加载控制,自动转换JSON格式)_第1张图片
SSM-SpringMVC(加载控制,自动转换JSON格式)_第2张图片
SpringMVC其实就是一种基于Java实现MVC模型的轻量级Web框架。

优点:

  • 使用简单
  • 性能突出(相比现有的框架)
  • 灵活性强

SpringMVC的基础配置

  • Controller加载控制:
    SpringMVC的处理器对应的bean必须按照规范格式开发,为了避免加入无效的bean可通过bean加载过滤器进行包含设定或排除设定,表现层bean标注通常设定为@Controller
<context:component-scan base-package="com.ysdn">
<context:include-filter
type="annotation"
expression="org.springframework.stereotype.Controller"/>
context:component-scan>
@ComponentScan(
value="com.ysdn",
excludeFilters =
@ComponentScan.Filter(
type= FilterType.ANNOTATION,
classes=Controller.class))

SSM-SpringMVC(加载控制,自动转换JSON格式)_第3张图片
静态资源的加载

<mvc:resources mapping="/img/**" location="/img/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
使用简化格式
<mvc:default-servlet-handler />

SSM-SpringMVC(加载控制,自动转换JSON格式)_第4张图片
中文乱码处理
这是SpringMVC提供的专用中文过滤器,用于处理乱码问题。

<filter>
<filter-name>characterEncodingFilterfilter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilterfilter-class>
<init-param>
<param-name>encodingparam-name>
<param-value>UTF-8param-value>
init-param>
filter>
<filter-mapping>
<filter-name>characterEncodingFilterfilter-name>
<url-pattern>/*url-pattern>
filter-mapping>

请求映射

SSM-SpringMVC(加载控制,自动转换JSON格式)_第5张图片

@Controller
@RequestMapping("/user")
public class UserController {
     
	@RequestMapping("/requestURL2")
	public String requestURL2() {
     
		return "page.jsp";
	}
}

属性:

@RequestMapping(
		value="/requestURL3", //设定请求路径,与path属性、value属性相同
		method = RequestMethod.GET, //设定请求方式
		params = "name", //设定请求参数条件
		headers = "content-type=text/*", //设定请求消息头条件
		consumes = "text/*", //用于指定可以接收的请求正文类型(MIME类型)
		produces = "text/*" //用于指定可以生成的响应正文类型(MIME类型)
)
public String requestURL3() {
     
	return "/page.jsp";
}

响应

SSM-SpringMVC(加载控制,自动转换JSON格式)_第6张图片
SSM-SpringMVC(加载控制,自动转换JSON格式)_第7张图片
页面访问快捷方式设定:

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/pages/"/>
	<property name="suffix" value=".jsp"/>
bean>
public String showPage3() {
     
	return "page";
}

SSM-SpringMVC(加载控制,自动转换JSON格式)_第8张图片

携带数据跳转页面设定:

方式一:使用ModelAndView类型作为形参进行数据传递。

@RequestMapping("/showPageAndData1")
public String showPageAndData1(HttpServletRequest request) {
     
	request.setAttribute("name","yss");
	return "page";
}

方式二:使用ModelAndView类型作为形参进行数据传递。

@RequestMapping("/showPageAndData2")
	public String showPageAndData2(Model model) {
     
	model.addAttribute("name","ys");
	Book book = new Book();
	book.setName("SpringMVC");
	book.setPrice(66.6d);
	model.addAttribute("book",book);
	return "page";
}

方式三:使用ModelAndView类型作为形参进行数据传递,并且将该对象作为返回值。

@RequestMapping("/showPageAndData3")
public ModelAndView showPageAndData3(ModelAndView modelAndView) {
     
	modelAndView.addObject("name","ysss");
	Book book = new Book();
	book.setName("SpringMVC ");
	book.setPrice(88.8d);
	modelAndView.addObject("book",book);
	modelAndView.setViewName("page");
	return modelAndView;
}
}

SSM-SpringMVC(加载控制,自动转换JSON格式)_第9张图片
返回数据:(普通的数据类型我就不再啰嗦了,直接演示返回JSON数据)

使用SpringMVC提供的消息类型转换器将对象和数据自动转换为JSON数据。

@RequestMapping("/showData4")
@ResponseBody
public Book showData4() {
     
	Book book = new Book();
	book.setName("SpringMVC");
	book.setPrice(88.8d);
	return book;
}

手工添加信息类型转换器:

<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
	<property name="messageConverters">
	<list>
	<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"/>
	list>
	property>
bean>

返回JSON数据(集合)

@RequestMapping("/showData5")
@ResponseBody
public List<Book> showData5() {
     
	Book book1 = new Book();
	book1.setName("SpringMVC入门实战");
	book1.setPrice(88.8d);
	Book book2 = new Book();
	book2.setName("SpringMVC应用");
	book2.setPrice(166.6d);
	ArrayList<Book> books = new ArrayList<Book>();
	books.add(book1);
	books.add(book2);
	return books;
	}

以上就是本次分享的全部内容了,如果有不恰当的地方,欢迎指正。

你可能感兴趣的:(java,spring,json)