Spring简单入门实例
前言
这一篇只是简单感受一下Spring MVC.
环境和jar包准备
1. IDE- eclipse3.7
2. Spring 下载地址:
▪Spring3.0.2 -- http://s3.amazonaws.com/dist.springframework.org/release/SPR/spring-framework-3.0.2.RELEASE-dependencies.zip
3.2.3 是Spring 较新的版本, 目前最高的版本是4.0.0。
为什么这里给两个版本的地址?
原因是:
spring 需要一些其他的依赖包的支持,比如 log4j, jstl 等,
spring 的版本发布中, 有的版本有同步发布依赖包的下载, 有的却没有。 以上3.0.2的版本有, 3.2.3 的版本却没有。(猜想可能是依赖包没有更改的缘故吧)
如果只是学习的话, 直接下载3.0.2的版本就可以了; 如果是开发,要求使用spring 的最新版的话,就搭配使用spring 的最新版和依赖包的旧版。
这里的例子很简单, 就是用spring mvc 从一个index.jsp 的页面转到一个登录的页面 (login.jsp)。
步骤
1. 在Eclipse 下新建Dynamic Web Project.
(这里project 取名为"springweb")
2. 将下载的spring 包和依赖包拷到工程的 WebContent/WEB-INF/lib 下。
3. 修改 WEB-INF 下的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" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"><display-name>springweb</display-name><servlet> <servlet-name>spring-dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:com/oscar999/resource/spring-dispather.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring-dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list>
</web-app>
这里配置了核心控制器, 拦截 *.do 的请求,交由spring 处理,
处理的依据是spring-dispather.xml 这份文件。
这个文件的配置方式是: classpath*:com/oscar999/resource/spring-dispather.xml, 也就是配置xml 文件的路径, 在javasrc 的 com.oscar999.resource 这个包下面。
4. 添加 index.jsp
在WebContent 路径下添加 index.jsp
<!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><jsp:forward page="login.do" />
</body>
</html>
很简单, 进入主页面之后,直接导入到登录页面。
注意这里的page 并不是 login.jsp, 而是login.do
5. 新增IOC容器所需要的XML配置文件
也就是上面提到的spring-dispather.xml 这个文件。这个文件的命名和路径可以指定,也可以不指定。
如果不指定路径和名称: 只spring 会自动到到/WEB-INF目录下找命名为<servlet-name>-servlet.xml的文件。
指定路径和名称,就是 以上描述的方式了。
在java src 下新增com.oscar999.resource的package. 新增spring-dispather.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:p="http://www.springframework.org/schema/p" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xmlns:mvc="http://www.springframework.org/schema/mvc" xsi:schemaLocation=" http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsd"> <bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><property name="mappings"><props><prop key="login.do">loginController</prop></props></property></bean> <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"><property name="viewName" value="login" /></bean><bean class="org.springframework.web.servlet.view.UrlBasedViewResolver"><property name="viewClass" value="org.springframework.web.servlet.view.JstlView" /><property name="prefix" value="/WEB-INF/jsp/" /><property name="suffix" value=".jsp" /></bean></beans>
这里定义了一个action 和 Controller,
当action 是 "login.do" 的时候,使用loginController, 找到viewName 是 "login"; 再配合UrlBasedViewResolver.
最后组出 处理这个action 的 jsp 是 ==> /WEB-INF/jsp/login.jsp
6. 新建login.jsp
这里面的内容就无所谓了;
<%@ 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>
<h5 style="color:pink" >Spring MVC Demo 用户注册</h5>
<form action="user.do" method="post"><table><tr><td>账号:</td><td><input type="text" name="id" /></td></tr><tr><td>姓名:</td><td><input type="text" name="name" /></td></tr><tr><td>生日:</td><td><input type="text" name="birth" /></td></tr><tr><td>卡号:</td><td><input type="text" name="cardID" /></td></tr><tr><td><input type="submit" value=" 提 交 "/></td><td align="center"><input type="reset" value=" 重 置 "/></td></tr></table>
</form>
</body>
</html>
总结
从这个例子来看, 只是使用 *.do 取代了 *.jsp 的方式。
然后在xml 去配置 那个 *.do action 最终使用 哪个jsp.
隐约看上去是实现了C 和 V的分离。
Spring 更多的优势, 就要深入学习了....
附加
1.
以上
<bean class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><property name="mappings"><props><prop key="login.do">loginController</prop></props></property></bean> <bean id="loginController" class="org.springframework.web.servlet.mvc.ParameterizableViewController"><property name="viewName" value="login" /></bean>
可以替换成以下方式也可以
<bean name="/login.do" class="org.springframework.web.servlet.mvc.ParameterizableViewController"><property name="viewName" value="login" /></bean>
2. UrlFilenameViewController
该Controller对XXX.do解析成XXX.jsp
3. ParameterizableViewController 创建带有参数化视图的控制器
可以配置 viewName 的property 配置view 的名字。
以上例子可以是login , 也可以是login2, 对应建立对应的jsp 就可以了。
Spring简单入门实例相关推荐
- Spring oxm入门实例
O/XMapper是什么? Spring3.0的一个新特性是O/XMapper.O/X映射器这个概念并不新鲜,O代表Object,X代表XML.它的目的是在Java对象(几乎总是一个plainoldJ ...
- 【java开发系列】—— spring简单入门示例
回顾 1 JDK安装 2 Struts2简单入门示例 前言 作为入门级的记录帖,没有过多的技术含量,简单的搭建配置框架而已.这次讲到spring,这个应该是SSH中的重量级框架,它主要包含两个内容:控 ...
- SpringMVC 基础教程 简单入门实例
spring MVC 入门教程二: 一个简单的入门实例教程 该实例的源码和实例中的jar 源码:http://download.csdn.net/detail/swingpyzf/5348563 所需 ...
- vue服务端渲染 MySQL_vue服务端渲染简单入门实例
想到要学习vue-ssr的同学,自不必多说,一定是熟悉了vue,并且多多少少做过几个项目.然后学习vue服务端渲染无非解决首屏渲染的白屏问题以及SEO友好. 话不多说,笔者也是研究多日才搞明白这个服务 ...
- IDEA Spring框架入门实例
IDEA创建Spring实例比较简单, 1.直接选择创建Spring项目即可,会自动下载所需包. 2.src下创建所需文件 1.Person类 package com.bird.service;imp ...
- 权限框架 - shiro 简单入门实例
前面的帖子简单的介绍了基本的权限控制,可以说任何一个后台管理系统都是需要权限的 今天开始咱们来讲讲Shiro 首先引入基本的jar包 1 <!-- shiro --> 2 <depe ...
- spring简单入门,入门案列的执行流程,图例
1.入门案例的执行流程 1.1: 当启动了tomcat服务器的时候,因为配置了load-on-startup标签,所以会创建DispatchServlet对象,就会加载springmvc.xml配置 ...
- HttpClient4.5 简单入门实例(一)
一.所需要的jar包 httpclient-4.5.jar httpcore-4.4.1.jar httpmime-4.5.jar 二.实例 package com.gblfy.test;import ...
- Eclipse环境下 spring MVC 入门实例
实现一个spring 的登陆事例 1.在eclipse下新建动态网页工程springmvc 2.需要导入jar包. aopalliance.jar;commons-beanutils.jar ...
最新文章
- 离线地图解决方案(二):地图基本控制
- 中物体的显示模式_美学,色彩模式,图像格式
- 第十一章 异常,日志,断言和调试
- 储存引擎InnoDB 索引选择 为何是B+树 而不是 B树 哈希表
- Qt文档阅读笔记-QSet官方解析及实例
- 洛克菲勒的逆商:如何在逆境中转换思维走向成功
- centos 7 php目录权限设置密码,Linux系统中(CentOS 7)的用户和权限管理
- Total Defense Anti-Virus – 免费6个月
- 索引的类型及分类,以及唯一索引、聚集索引和非聚集索引的本质区别
- 前端使用 CryptoJS(v3.1.2) 进行des解密,后端java
- android屏幕录制功能,Android利用ADB进行屏幕录制
- 常用颜色的RGB分布
- 【电子】Baseband Signal and Passband Signal
- 2021-11-06 工作记录--LayUI-敲击键盘enter键,仍可以实现搜索
- 《地球以外的文明世界》——阿西莫夫
- JavaScript学习笔记及案例总结
- 主成分分析PCA+C代码
- 信息化消防应急指挥调度如何实现高效救援?
- OpenLayers 3 之 使用地理数据传输格式GeoJSON
- 大连东软暑假实习报告
热门文章
- SSM框架下分页的实现(封装page.java和List?)
- 【nginx】关于fastcgi_cache
- sql server 约束
- centos cron 自动执行脚本异常 命令不生效的解决办法
- 推荐系统系列教程之十二:Facebook是怎么为十亿人互相推荐好友的?
- 【报告分享】2020全球网络趋势报告.pdf(附下载链接)
- PyTorch 深度学习:38分钟快速入门——RNN 做图像分类
- LINUX修改权限modify,linux文件权限查看及修改(实用)(View and modify Linux file permissions (practical)).doc...
- java+tableseg,多种功能集成,带Refresh刷新的tableV,Seg分段控件
- python画图保存网页_一起学Python数据分析——引言