SpringMVC初识
2024-09-01 14:15:50
1 SpringMVC的概述
- Spring为展现层提供的基于MVC设计理念的优秀的web框架,是目前最主流的MVC框架之一。
- Spring3.0后面全面超过Struts2,成为了最优秀的MVC框架。
- Spring MVC通过一套MVC注解,让POJO成为处理请求的控制器,而无须实现任何接口。
- 支持REST风格的URL请求。
- 采用了松散耦合的可插拔组件结构,比其他MVC框架更具有扩展性和灵活性。
2 SpringMVC的HellloWorld
2.1 环境搭建
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aspects</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<dependency>
<groupId>aopalliance</groupId>
<artifactId>aopalliance</artifactId>
<version>1.0</version>
</dependency>
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>1.9.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.1.RELEASE</version>
</dependency>
2.2 在web.xml中配置DispatcherServlet
- 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">
<!--
配置DispatcherServlet:
DispatcherServlet默认加载的是/WEB-INF/<servlet-name>-Servlet.xml的Spring配置文件,来启动WEB层的Spring容器。
可以通过init-param中的contextConfigLocation来自定义配置文件的位置和名称
-->
<servlet>
<servlet-name>dispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:springMVC.xml</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> </web-app>
2.3 创建SpringMVC的配置文件
- springMVC.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:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-4.0.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-4.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx-4.0.xsd "> <!-- 配置自动扫描的包 -->
<context:component-scan base-package="com.sunxiaping.springmvc"></context:component-scan> <!-- 配置视图解析器 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean> </beans>
2.4 创建Handler
- HelloWorldController.java
package com.sunxiaping.springmvc.controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; @Controller
public class HelloWorldController { @RequestMapping(value = "/helloWorld")
public String helloWorld() {
System.out.println("你好,世界");
return "success";
} }
2.5 在WEB-INF目录下创建views目录,并在views目录下创建success.jsp
- success.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
成功啦
</body>
</html>
最新文章
- WCF 安全性之 自定义用户名密码验证
- 使用diff制作补丁
- hadoop2—namenode—HA原理详解
- EasyUI-在iframe里获取现阶段选中的tab的标题
- Hill Climber and Random Walk
- C# winform滚动字幕
- [译]GotW #5:Overriding Virtual Functions
- android 72 确定取消对话框,单选对话框,多选对话框
- wmic
- DataTable AsEnumerable 的使用
- PHP通过Thrift操作Hbase
- 实例讲解webpack的基本使用第一篇
- 在centos7中手动编译greenplum
- Spring3 MVC
- Java判断对象是否为NULL
- android MeasureSpec的三个测量模式
- Java异常封装
- [转] Centos 系统swap虚拟内存添加与删除配置
- jmeter 打不开 提示“Not able to find Java executable or version”的解决办法
- 五、设置 IntelliJ IDEA 主题和字体的方法