发表于: 2018-01-21 00:39:04
1 639
一、学习Spring MVC的常用注解
1)@Controller ,org.springframework.stereotype.Controller注解用于指示被标记类是一个控制器,使用注解的控制器支持同时处理多个request,而Controller接口的实现类只能一次处理单个request。DispatcherServlet 扫描被@Controller 注解的类,将web请求映射到@RequestMapping注解的方法上。
2)@RequestMapping注解迎来将用户的请求映射到处理器类或方法,可以在类级别或者方法级别使用它。这个注解可以指定的属性比较多,如value name method consumes produces params header Path等。使用注解的方法可以有多种签名。
3)@ModeAttribute注解,使用一个向view公开的键将返回值和参数绑定,用在方法级别或者方法的参数级别。
4)@PathVariable注解将一个方法参数绑定到一个URL模板。2、
5)其他还看了@ControllerAdvance @InitBinder等注解。Spring MVC常用的注解非常多,用法多样,有些互相联系搭配使用,想要记住好几种简直是一项难以完成的任务,所以决定放弃来记住,现阶段对注解混个脸熟,等到后期根据前几天学习的简单的REST风格的 web项目来创建一个新项目时候,涉及到相关注解再去详细学习。
二、Maven构建web工程
1、
2、在WEB-INF目录下创建 web.xml
配置Spring MVC的入口 DispatcherServlet,把所有的请求都提交到该Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3、在WEB-INF目录下创建 springmvc-servlet.xml
springmvc-servlet.xml 与上一步中的
springmvc对应
这是Spring MVC的 映射配置文件
表示访问路径/index会交给id=indexController的bean处理
id=indexController的bean配置为类:IndexController
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="simpleUrlHandlerMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/index">indexController</prop>
</props>
</property>
</bean>
<bean id="indexController" class="controller.indexController"></bean>
</beans>
4、控制类 IndexController实现接口Controller ,提供方法handleRequest处理请求
SpringMVC通过 ModelAndView 对象把模型和视图结合在一起
表示视图是index.jsp
模型数据是 message,内容是 “Hello Spring MVC”
package controller;
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 IndexController implements Controller {
public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception {
ModelAndView mav = new ModelAndView("index.jsp");
mav.addObject("message", "Hello Spring MVC");
return mav;
}
}
5、在WebContent目录下创建index.jsp
index.jsp很简单,通过EL表达式显示message的内容
二、明天计划
学习springmvc的接受表单数据和客户端跳转等内容。
三、遇到的问题
URI没有注册。
解决方法:
鼠标点击红色字,然后Intellij出现小红灯,选择Fetch external resource即可解决
四、今天的收获
springmvc基本的流程了解了。
评论