初见SpringMVC
完成流程:
- 新创建一个web项目
- 导进有关jar包
- 撰写web.xml,申请注册DispatcherServlet
- 撰写springmvc环境变量
- 下面是去建立相匹配的操纵类 , controller
- 最终健全前面视图和controller中间的相匹配
- 测试步骤调节
应用springMVC务必配备的三大件:
处理器映射器、处理器电源适配器、视图解析器
通常,大家只必须手动式配备视图解析器,而处理器映射器和处理器电源适配器只要打开注解推动就可以,而省掉了一大段的xml配备
注解完成SpringMVC
普遍注解
@Component 部件
@Service 服务项目
@Controller 操纵
@Respository dao层
控制板
package com.kuang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
//@Controller注解的类会全自动增加到Spring前后文中
@Controller
@RequestMapping(\"/test2\")
public class ControllerTest2{
//映射浏览途径
@RequestMapping(\"/t2\")
public String index(Model model){
//Spring MVC会全自动创建对象一个Model目标用以向视图中国传媒大学值
model.addAttribute(\"msg\", \"ControllerTest2\");
//回到视图部位
return \"test\";
}
}
- @Controller是因为让Spring IOC器皿复位时全自动扫描仪到;
- @RequestMapping是为了更好地映射要求途径,这儿由于类与方式上都是有映射因此浏览时应该是/test2/t2;
规范maven依靠
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<project xmlns=\"http://maven.apache.org/POM/4.0.0\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">
<modelVersion>4.0.0</modelVersion>
<groupId>com.reliable</groupId>
<artifactId>SpringMVC2</artifactId>
<packaging>pom</packaging>
<version>1.0-SNAPSHOT</version>
<modules>
<module>springmvc-04-controller</module>
</modules>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.1.9.RELEASE</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
一、配备pom.xml
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<project xmlns=\"http://maven.apache.org/POM/4.0.0\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xsi:schemaLocation=\"http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd\">
<parent>
<artifactId>SpringMVC2</artifactId>
<groupId>com.reliable</groupId>
<version>1.0-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>springmvc-04-controller</artifactId>
<dependencies>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
</dependencies>
<build>
<resources>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
</project>
二、配备web.xml
<?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\">
<!--1.申请注册servlet-->
<servlet>
<servlet-name>SpringMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!--根据复位主要参数特定SpringMVC环境变量的部位,开展关系-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-servlet.xml</param-value>
</init-param>
<!-- 运行次序,数据越小,运行越快 -->
<load-on-startup>1</load-on-startup>
</servlet>
<!--全部要求一定会被springmvc阻拦 -->
<servlet-mapping>
<servlet-name>SpringMVC</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
</web-app>
三、配备springmvc-servlet.xml
<?xml version=\"1.0\" encoding=\"UTF-8\"?>
<beans xmlns=\"http://www.springframework.org/schema/beans\"
xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
xmlns:context=\"http://www.springframework.org/schema/context\"
xmlns:mvc=\"http://www.springframework.org/schema/mvc\"
xsi:schemaLocation=\"http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
https://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
https://www.springframework.org/schema/mvc/spring-mvc.xsd\">
<!-- 全自动扫描仪包,让特定包了的注释起效,由IOC器皿统一管理方法 -->
<context:component-scan base-package=\"com.kuang.controller\"/>
<!-- 让Spring MVC不解决静态数据网络资源:html 等-->
<mvc:default-servlet-handler/>
<!--
适用mvc注释推动
在spring中一般选用@RequestMapping注释来进行投射关联
要想使@RequestMapping注释起效
务必向前后文中申请注册DefaultAnnotationHandlerMapping
和一个AnnotationMethodHandlerAdapter案例
这两个实例各自在类等级和方式等级解决。
而annotation-driven配备协助大家全自动进行以上2个案例的引入。
<mvc:annotation-driven /> 完成了投射和兼容(适用用注释进行)
-->
<mvc:annotation-driven />
<!-- 主视图在线解析 -->
<bean class=\"org.springframework.web.servlet.view.InternalResourceViewResolver\"
id=\"internalResourceViewResolver\">
<!-- 作为前缀 -->
<property name=\"prefix\" value=\"/WEB-INF/jsp/\" />
<!-- 后缀名 -->
<property name=\"suffix\" value=\".jsp\" />
</bean>
</beans>
RestFul 设计风格
定义
Restful便是一个网络资源精准定位及网络资源实际操作的设计风格。并不是规范也不是协议书,仅仅一种设计风格。根据这一设计风格设计的系统可以更简约,更有层级,更容易完成缓存文件等体制。
作用
网络资源:互联网技术全部的事情可以被抽象化为网络资源
资源实际操作:应用POST、DELETE、PUT、GET,使用不一样方式对网络资源开展实际操作。
各自相匹配 加上、 删掉、改动、查看。
RestFulController(@PathVariable)
package com.kuang.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
public class RestFulController {
//投射浏览途径
@RequestMapping(\"/commit/{p1}/{p2}\")
public String index(@PathVariable int p1, @PathVariable int p2, Model model){
int result = p1 p2;
//Spring MVC会全自动创建对象一个Model目标用以向视图中国传媒大学值
model.addAttribute(\"msg\", \"结论:\" result);
//回到主视图部位
return \"test\";
}
//投射浏览途径,务必是Get要求
@RequestMapping(value = \"/hello\",method = {RequestMethod.GET})
public String index2(Model model){
model.addAttribute(\"msg\", \"hello!\");
return \"test\";
}
}
应用method属性指定请求类型
用以管束请求的类型,可以下挫请求范畴。指定请求谓词演算的类型如GET, POST, HEAD, OPTIONS, PUT, PATCH, DELETE, TRACE等。
//映射访问途径,务必是Get请求
@RequestMapping(value = \"/hello\",method = {RequestMethod.GET})
public String index2(Model model){
model.addAttribute(\"msg\", \"hello!\");
return \"test\";
}
除开加上method,还能够应用注释
@GetMapping
@PostMapping
@PutMapping
@DeleteMapping
@PatchMapping
//映射访问途径,务必是Get请求
@GetMapping(value = \"/hello\")
public String index2(Model model){
model.addAttribute(\"msg\", \"hello!\");
return \"test\";
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。