SpringMVC的入门示例
1、配置流程说明
第一步:导入包
第二步:构建一个请求,编写请求页面
第三步:配置核心控制器
第四步:构建一个业务控制器
第五步:编写Spring配置文件
第六步:编写一个返回页面
2、配置流程---基于 XML 的配置
① 导入包

② 创建一个请求的发送页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="${pageContext.request.contextPath }/say.mvc">say hello</a>
</body>
</html>
③ 在 web.xml 配置核心控制器
<?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>springmvc-demo-01-xml-start</display-name> <!-- 配置核心控制器拦截所有的请求 -->
<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:spring-mvc.xml</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>dispatcherServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping> <welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.htm</welcome-file>
<welcome-file>default.jsp</welcome-file>
</welcome-file-list>
</web-app>
④ 创建一个业务控制器
package cn.gzsxt.controller; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController; /**
* 业务控制器,必须继承一个类MultiActionController或它的父类
* @author ranger
*
*/
public class HelloController extends MultiActionController {
/**
* 执行方法的参数是固定.HttpServletRequest request,HttpServletResponse response
*/
public ModelAndView say(HttpServletRequest request,HttpServletResponse response){
System.out.println("-你好世界!-");
ModelAndView mv=new ModelAndView();
//设置返回的视图
mv.setViewName("/hello.jsp");
mv.addObject("msg", "张三");
return mv;
}
}
⑤ 创建一个 Spring 的配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
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">
<!-- 请求路径与业务控制器的执行方法的关系 -->
<!-- 请求与执行方法的规则:
1. SpringMVC会根据请求的名字:/say.mvc的say,去自动找到say这个方法
-->
<bean name="/say.mvc" class="cn.gzsxt.controller.HelloController"></bean>
<!-- 2.视图解释器,不用配置.默认已经配置了jsp视图解释器了 -->
</beans>
⑥ 创建一个返回的视图页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
${msg },欢迎您!
</body>
</html>
问题:根据上面,我们有什么不满意的地方?
答:① 业务控制器需要继承一个类或继承一个接口(这种设计称为入侵性的设计),优秀的设计不需要继承任何东西的;
② 业务控制器方法的参数是固定的,不人性化,我们希望可以做到需要什么参数就加什么参数,而不写死它;
③ 返回的路径明明就是一个字符串就搞定的事,非要使用一个ModelAndView一个类来写。
SpringMVC基于XML的配置是SpringMVC的第一版,发行在spring2.5里面. 非常难用,Spring团队很快就接受社区的建议,在Spring3.0就对SpringMVC做出了重大的修改.其中最大修改就是将原来基于XML的配置,修改为基于注解.该方案在下节...
SpringMVC的入门示例的更多相关文章
- SpringMVC的入门示例---基于注解的配置
注解版的配置,主要的修改就是将原来使用<bean>创建的业务控制器对象,修改为是扫描标签扫描到容器. 1.导入包 2.在 web.xml 配置核心控制器 <?xml version= ...
- Springmvc整合tiles框架简单入门示例(maven)
Springmvc整合tiles框架简单入门示例(maven) 本教程基于Springmvc,spring mvc和maven怎么弄就不具体说了,这边就只简单说tiles框架的整合. 先贴上源码(免积 ...
- SpringMVC从入门到精通之第四章
第一个知识点:@Controller注解,用于标识这个类是一个后端控制器(类似struts中的action),主要作用就是接受页面的参数,转发页面.中间的业务逻辑是调用业务类处理的这个就是MVC设计模 ...
- 1.【转】spring MVC入门示例(hello world demo)
1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于 ...
- 【转】spring MVC入门示例(hello world demo)
部分内容来自网络:<第二章 Spring MVC入门 —— 跟开涛学SpringMVC > 1. Spring MVC介绍 Spring Web MVC是一种基于Java的实现了Web M ...
- [WCF编程]1.WCF入门示例
一.WCF是什么? Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,整合了原有的windows通讯的 .net Remotin ...
- Maven入门示例(3):自动部署至外部Tomcat
Maven入门示例(3):自动部署至外部Tomcat 博客分类: maven 2012原创 Maven入门示例(3):自动部署至外部Tomcat 上一篇,介绍了如何创建Maven项目以及如何在内 ...
- SpringMVC基础入门
一.SpringMVC基础入门,创建一个HelloWorld程序 1.首先,导入SpringMVC需要的jar包. 2.添加Web.xml配置文件中关于SpringMVC的配置 1 2 3 4 5 6 ...
- 【java开发系列】—— spring简单入门示例
1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控制反转 ...
随机推荐
- Jmeter常见问题(转)
收集工作中JMeter遇到的各种问题 1. JMeter的工作原理是什么? 向服务器提交请求:从服务器取回请求返回的结果. 2. JMeter的作用? JMeter可以用于测试静态或者动态 ...
- PHP artisan migrate 报错显示 could not find driver ,怎么办?
记录下自己的错误 一. 1.原因是没有pdo扩展导致的, 2.解决办法:打开php.ini,然后去掉以下两行代码之前的分号(:)即可.如下: extension=php_pdo_firebird.dl ...
- Superset安装与使用
参考: https://www.jianshu.com/p/b02fcea7eb5b
- AirBnB春招笔试题
试题说明 笔试题只有一道,限时1小时. 模拟一个战争外交游戏,游戏中定义了三种操作: A city1 Hold : 军队A 占领了city1 A city1 Move city2 : 军队A从city ...
- 如何破解加密了的word文档
https://blog.csdn.net/huangbaokang/article/details/79630223 变成xml文件格式之后--查找在documentProtection前面加上un ...
- photoshop编辑pdf文件
对于PDF文件透明背景的问题 PDF文件背景是透明的,如何使其变成白色 怎样通过photoshop打开多页PDF,编辑后仍保存为多页 注意shift全选,"页面选项"处的'裁剪到' ...
- 如何修改hosts文件
如何修改hosts文件 1.进入路径 C:\Windows\System32\drivers\etc 2.拷贝hosts文件到其他地方3.修改拷贝的hosts文件,右键用记事本打开4.直接修改或添加 ...
- Browserify模块化使用教程
Browserify模块化使用教程 创建项目结构 |-js |-dist //打包生成文件的目录 |-src //源码所在的目录 |-module1.js |-module2.js |-m ...
- git添加删除远程tag
git tag -a test20190108_1 -m "fix bug" git push origin test20190108_1 git push origin :ref ...
- MyBatis小问题(1)-Mapper中错误No constructor found...
前两天又被公司叫去修改其他产品的一些问题了,没有看java相关的,今天周六,看了看MyBatis东西. 就是简单的在MySql中建了个users表,很简单,包含id,name,age,写了个bean. ...