发表于: 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 与上一步中的

<servlet-name>springmvc</servlet-name>

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 对象把模型和视图结合在一起

ModelAndView mav = new ModelAndView("index.jsp");
mav.addObject("message", "Hello Spring MVC");

表示视图是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的内容
<%@ page language="java" contentType="text/html; charset=UTF-8"
  pageEncoding="UTF-8" isELIgnored="false"%>

<h1>${message}</h1>

二、明天计划

学习springmvc的接受表单数据和客户端跳转等内容。

三、遇到的问题

 

 URI没有注册。

解决方法: 

鼠标点击红色字,然后Intellij出现小红灯,选择Fetch external resource即可解决 

四、今天的收获

springmvc基本的流程了解了。



返回列表 返回列表
评论

    分享到