spring mvc注解方式
1.导入依赖
2.web.xml
配置比较固定
- 主要是DispatcherServlet的配置,它是springmvc核心的东西。
- 同时,配置springmvc配置文件的路径。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
version="4.0">
<servlet>
<!-- springmvc核心分发servlet-->
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<!-- 用于配置springmvc的bean的配置文件路径配置-->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Spring MVC Dispatcher Servlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
3.springmvc注解配置
这里的配置也是比较固定的:
- 配置注解扫描包范围
- 配置springmvc注解支持
- 配置mapping,adapter开启
- 配置view解析
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd">
<!-- 注解扫描包配置-->
<context:component-scan base-package="com.wang.controller"/>
<!-- 可以过滤 .js .html .css 等其他静态资源-->
<mvc:default-servlet-handler />
<!-- 开启mapping和adapter 功能-->
<mvc:annotation-driven/>
<!-- 视图解析器-->
<!-- mv得到之后,通过视图解析解析,再返回给dispatcher servlet。再给视图层-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!-- 返回的视图名拼接上这里前缀,后缀。例如controller返回的hello。访问的就是WEB-INF/jsp/hello.jsp页面-->
<property name="prefix" value="/WEB-INF/jsp/"/>
<property name="suffix" value=".jsp"/>
</bean>
</beans>
3.controller 注解开发
@Controller 注册controller
@RequestMapping() 定制uri
通过hello() 定制model,已经指定转向视图的名称。
package com.wang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
//controller注解,注册controller对象
@Controller
public class HelloController {
// RequestMapping注解,指定访问的uri
// 接收带hello的url: http://localhost:8080/springmvc_04_annotation_war_exploded/hello
@RequestMapping("/hello")
public String hello(Model model){
// 封装数据
model.addAttribute("msg","hello springmvc annotation");
//指定视图名称
return "hello";
}
}
4 部署测试
idea部署到tomcat 9 之后启动服务器,测试通过。
http://localhost:8080/springmvc_04_annotation_war_exploded/hello