SpringMVC学习总结(一)--Hello World入门
2024-10-20 08:28:41
一、什么是Spring MVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。
今天先从写一个Spring MVC的Hello World开始,让我们看看如何搭建起一个Spring mvc的环境并运行程序
我们会从一下几个步骤开始
步骤:
1、加入jar包
2、在web.xml中配置DispathcerServlet
3、加入SpringMVC的配置文件
4、编写处理请求的处理器,并标识为处理器
5、编写视图
二、加入所需的jar包
- |--commons-logging-1.1.3.jar
- |--spring-aop-4.3.7.RELEASE.jar
- |--spring-beans-4.3.7.RELEASE.jar
- |--spring-context-4.3.7.RELEASE.jar
- |--spring-core-4.3.7.RELEASE.jar
- |--spring-expression-4.3.7.RELEASE.jar
- |--spring-web-4.3.7.RELEASE.jar
- |--spring-webmvc-4.3.7.RELEASE.jar
三、在web.xml中配置DispathcerServlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>SpringMVCStudy</display-name> <!-- 配置DispatcherServlet -->
<servlet>
<servlet-name>springDispatcherServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<!-- 配置DispatcherServlet 的一个初始化参数:配置SpringMVC 配置文件的位置和名称 -->
<init-param>
<!-- mvc配置文件的位置和名称 -->
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- 接收所有请求 -->
<servlet-mapping>
<servlet-name>springDispatcherServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
四、编写springmvc.xml配置文件(src下)
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:mvc="http://www.springframework.org/schema/mvc"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd"> <!--配置自动扫描的包 -->
<context:component-scan base-package="com.study.springmvc.handlers"></context:component-scan>
<!--配置视图解析器:如何把handler方法,返回值解析为实际的物理视图 -->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
五、编写HelloSpringMVC.java
package com.study.springmvc.handlers; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping; /**
* 类名称:com.study.springmvc.handlers.HelloSpringMVC
* 创建人:吴既稳
* 修改备注:
* @version jdk1.8
*/
@Controller
public class HelloSpringMVC { /**
* @Title: hello
* @Description: TODO
* 1.使用RequestMapping()来映射请求
* 2.返回值会通过视图解析器解析为实际的物理视图,对于InternalResourceViewResolver 会做如下的解析
* 通过: prefix + returnVal + 后缀 这样的方式得到实际的物理视图,然后做转发操作
* 例如:/WEB-INF/views/successResult.jsp
* @return
*/
@RequestMapping("/hello")
public String hello() {
System.out.println("成功......");
return "successResult";
}
}
六、编写视图
HelloSpringMVC.jsp为链接请求页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'HelloSpringMVC.jsp' starting page</title>
</head> <body> <h2>点击下方链接</h2> <a href="hello">Hello SpringMVC</a> </body>
</html>
successResult.jsp为跳转结果页面,路径为/WEB-INF/views/successResult.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'successResult.jsp' starting page</title>
</head> <body> <h1>Hello SpringMVC 测试成功</h1> </body>
</html>
七、启动项目,测试结果
最新文章
- JAVA实现图片裁剪
- Scala基础语法
- spark streaming中使用checkpoint
- map和json之间的转换
- java中的动态代理机制
- page59-一种能够累加数据的ADT(可视化版本) [可用于数据挖掘可视化工具]
- HDU-1402 A * B Problem Plus FFT(快速傅立叶变化)
- Java RMI详解
- Redis 集群常见问题
- 切换view的动画
- SHELL要发送HTML这类邮件的话,还得靠msmtp 和 mutt
- async 异步流程控制规则
- PAT (Advanced Level) 1108. Finding Average (20)
- 重启OpenStack服务步骤
- IOS9.0 之后友盟分享详细过程
- .Net程序员学用Oracle系列(29):PLSQL 之批量应用和系统包
- 使用vee-validate表单插件是如何设置中文提示?
- PHP04
- java ---->; 基础之位运算
- warning: this decimal constant is unsigned only in ISO C90问题的处理及理解
热门文章
- Opencv中Rect类
- [QT][SQLITE]学习记录二 日期查询
- BZOJ5312: 冒险【线段树】【位运算】
- Codeforces 1009D:Relatively Prime Graph
- test20181024 kun
- 浅谈iOS学习之路(转)
- nginx-vod-module &;&; docker &;&; docker-compose 测试
- 【转】Visual Studio 2012常用快捷键总结
- java对象模型
- Android中Parcelable与Serializable接口用法