今天从以下几个内容给大家介绍:
在介绍SpringMVC之前先看看什么是MVC:
SpringMVC其实就是一种基于Java实现MVC模型的轻量级Web框架。
优点:
<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))
<mvc:resources mapping="/img/**" location="/img/"/>
<mvc:resources mapping="/js/**" location="/js/"/>
使用简化格式
<mvc:default-servlet-handler />
中文乱码处理
这是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>
@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";
}
<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";
}
携带数据跳转页面设定:
方式一:使用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;
}
}
返回数据:(普通的数据类型我就不再啰嗦了,直接演示返回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;
}
以上就是本次分享的全部内容了,如果有不恰当的地方,欢迎指正。