我的编程空间,编程开发者的网络收藏夹
学习永远不晚

【framework】spring3-入

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

【framework】spring3-入

补充:我把相关jar包上传到 http://down.51cto.com/data/477540
 

spring3发布有相当长一段时间了,因为待业在家,一直帮朋友提供些方案,没有太多关注。近期打算翻译一下spring-reference,发现网上已经存在一些版本了,为了不重复发明轮子,我就弄个个实际例子来写写。

集成

做java的都好喜欢eclipse,没办法,虽然其他语言的程序员一直批判java程序员没有IDE就没法做开发,批判就批判吧,确实好用,好歹也带动了经济。

我用的是工具如下: 

IDE: eclipse3.6
中间件(应用服务器): tomcat7.0.27
svn: subversive
maven: 3.0.4
framework: springMVC 3.05

 我喜欢eclipse3.6以后的版本,因为他装插件的时候直接搜索就OK,搜索完成后,已经帮你检测出是否已经安装,可以更新。很方便

 1.集成svn

svn在eclipse上官方推荐的是subversive,但不代表其他就不好。

点击:help-->eclipse marketplace 

Magical Snap - 2012.08.13 10.52 - 001

 2. 集成maven

同样在搜索栏里maven

install Maven Integration for Eclipse WTP 

3. spring提供svn地址下载一些项目demo,地址如下 

https://anonsvn.springframework.org/svn/spring-samples

在这个地址里下载spring的mvc-basic等项目

4. 一起看下mvc-basic的结构

典型的maven的结构

├─.settings
├─class="lazy" data-src
│  ├─main
│  │  ├─java
│  │  │  └─org
│  │  │      └─springframework
│  │  │          └─samples
│  │  │              └─mvc
│  │  │                  └─basic
│  │  │                      └─account
│  │  ├─resources
│  │  └─webapp
│  │      ├─resources
│  │      │  └─blueprint
│  │      │      ├─plugins
│  │      │      │  ├─buttons
│  │      │      │  │  └─icons
│  │      │      │  ├─fancy-type
│  │      │      │  ├─link-icons
│  │      │      │  │  └─icons
│  │      │      │  └─rtl
│  │      │      └─class="lazy" data-src
│  │      └─WEB-INF
│  │          ├─classes
│  │          ├─layouts
│  │          ├─lib
│  │          ├─messages
│  │          ├─spring
│  │          │  └─appServlet
│  │          └─views
│  │              └─account
│  └─test

--------pom.xml 

这里我单独画出pom.xml目的主要是因为maven项目的核心文件就是pom.xml,这里有他所有的依赖和相关组件 

5. 通过eclipse,右键pom.xml—>Run As—>maven install

maven会自动下载相关的依赖jar包(网速不好的话,会比较尴尬)。我回头把相关包传上去,maven服务器经常出现无法下载的和jar下载不全的情况。偏偏spring官网下载的相关包里没有spring-webmvc-3.0.5.RELEASE.jar等

注:maven可以发布war到本地或者远程tomcat下,这里不细讲 

6. 简单走一遍流程 

6.1 看web.xml

  1. <servlet>   
  2.         <servlet-name>Spring MVC Dispatcher Servlet</servlet-name> 
  3.  
  4. <!--集成spring,核心调度DispatcherServlet -->   
  5.         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>   
  6.         <init-param>   
  7.             <param-name>contextConfigLocation</param-name>   
  8.             <param-value>  
  9. <!--加载spring自己的配置文件-->   
  10.                 /WEB-INF/spring/appServlet/servlet-context.xml   
  11.             </param-value>   
  12.         </init-param>   
  13.         <load-on-startup>1</load-on-startup>   
  14.     </servlet>    
  15.     <servlet-mapping>   
  16.         <servlet-name>Spring MVC Dispatcher Servlet</servlet-name>   
  17.         <url-pattern>/</url-pattern>   
  18.     </servlet-mapping>  

6.2 查看/WEB-INF/spring/appServlet/servlet-context.xml 

  1. <!--加载控制器(原注释) 复制黏贴处问题了,看来看的人真不多。。–> 
  2. <!--非spring注解,所需的注解驱动加载 2012-9-1修改-->
  3. <mvc:annotation-driven />   
  1. <!--跟目录访问,默认访问welcome.jsp--> 
  2. <mvc:view-controller path="/" view-name="welcome"/> 
  1. <!-- jsp在WEB-INF在受到保护,不被外界直接访问,是一种比较常见的安全策略,同时定定义了jsp的地址和扩展名-->   
  2.     <bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">   
  3.         <property name="prefix" value="/WEB-INF/views/"/>   
  4.         <property name="suffix" value=".jsp"/>   
  5.     </bean> 

6.3 查看控制器

  1. @Controller   
  2. @RequestMapping(value="/account")   
  3. public class AccountController {   
  4.  
  5.     private Map<Long, Account> accounts = new ConcurrentHashMap<Long, Account>();   
  6.       
  7.  
  8. @RequestMapping(method=RequestMethod.GET)   
  9.     public String getCreateForm(Model model) {   
  10.         model.addAttribute(new Account());   
  11.         return "account/createForm";   
  12.     }  
  13.  
  14.    
  15.     @RequestMapping(method=RequestMethod.POST)   
  16.     public String create(@Valid Account account, BindingResult result) {   
  17.         if (result.hasErrors()) {   
  18.             return "account/createForm";   
  19.         }   
  20.         this.accounts.put(account.assignId(), account);  
  21.  
  22.         //实际上这里跳转到了getView方法   
  23.         return "redirect:/account/" + account.getId();   
  24.     }  
  25.  
  26.    
  27.     @RequestMapping(value="{id}", method=RequestMethod.GET)   
  28.     public String getView(@PathVariable Long id, Model model) {   
  29.         Account account = this.accounts.get(id);   
  30.         if (account == null) {   
  31.             throw new ResourceNotFoundException(id);   
  32.         }   
  33.         model.addAttribute(account);   
  34.         return "account/view";   
  35.     }   
  36.  
  37. }  
  38.  

6.4 启动项目,地址栏输入http://localhost:8080/mvc-basic/

我们得到的刚好是welcome.jsp页面内容

Magical Snap - 2012.08.13 11.57 - 004

6.5 点击@Controller Example,查看createForm.jsp 由getCreateForm方法跳转的页面

  1. <%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %> 
  2.  
  3. 这是spring的标签,用在  
  4.  
  5. <form:label    for="name" path="name" cssErrorClass="error">Name</form:label> 
  6.  
  7. <form:input path="name" /> <form:errors path="name" />      

看看页面效果

Magical Snap - 2012.08.13 11.54 - 003

 

7. 为 了调试方便,可以在eclipse下运行tomcat,debug跟踪一下springMVC的流程。

 好了,一个简单的springMVC入门小例子讲解到这里,要想深入了解,可以从

https://anonsvn.springframework.org/svn/spring-samples下载其他例子一一尝试,或者关注笔者。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

【framework】spring3-入

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

【framework】spring3-入

补充:我把相关jar包上传到 http://down.51cto.com/data/477540  spring3发布有相当长一段时间了,因为待业在家,一直帮朋友提供些方案,没有太多关注。近期打算翻译一下spring-
2023-01-31

【framework】spring3-m

前言spring一直以来提供了大量文档和例子,来让我们熟悉和了解spring. springMVC是一个比较成功的MVC模式,有人甚至认为这是java最好的web开发模式。 这个,我们不评价,不过这也能说明一些问题。自spring3加入了大
2023-01-31

spring3+hibernate4整合

四、环境搭建         新建一个动态web项目,创建后目录结构为:resources用于放资源文件、src用于放源码、sql放数据库创建语句、WebRoot为web项目的根目录,下面有classes为编译好的class文件,jsp为所
2023-01-31

Spring3之 bean AutoWi

Autowiring collaborators 自动装配Spring通过检查BeanFactory中的内容,来替指定其他被依赖的bean优点:1、显著减少配置的数量2、以使配置与java代码同步更新XML配置过程中可在标签中指
2023-01-31

CAS与spring3集成

Server版本:cas-server-3.5.2Client版本:cas-client-3.1 SSL配置方式:第一步:生成证书密钥 进入到cmd后输入keytool -genkey -alias tomcat -keystore myk
2023-01-31

Spring3属性之useDefault

今天从网上抄了个Spring MVC的demo. 发现Controller方法上采用@RequestMapping("/hello")作为Request与Controller的映射。但对于/hello.html居然也会走这个方法。不解,调查
2023-01-31

Tomcat7+Spring3异常Fai

我做的一个考试系统,使用了hibernate和spring,原来使用的tomcat版本是6,后来把tomcat换成了apache-tomcat-7.0.30-windows-x64,spring的版本是:3.1结果启动tomcat时报错如下
2023-01-31

spring3+mbatis3开发实例

最近一直在深入了解struts2,spring,hibernate以及mybatis框架,通过查看这些框架的源码和官方文档,发现自己对于这些框架的原理,使用有了更深的理解,那么今天我给大家带来的是运用spring和mybatis这两个框架来
2023-01-31

Spring3整合Ibatis3配置

步骤一:在web.xml中配置spring                contextConfigLocation            
2023-01-31

如何进行Spring3基于Annotation的依赖注入实现

这篇文章给大家介绍如何进行Spring3基于Annotation的依赖注入实现,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。简介: Spring 的依赖配置方式与 Spring 框架的内核自身是松耦合设计的。然而,直到
2023-06-17

spring3 MVC手工搭建Sprin

转载地址:http://hi.baidu.com/hi_c/blog/item/598bcd17c2c5601ac83d6d78.html手工搭建步骤: 1.开发环境确认    2.Spring3的jar包    3.Spring3项目配置
2023-01-31

Spring3基于注释驱动的AOP

51CTO正在组织十佳博客评选请Spring3基于注释驱动的AOP实在是郁闷刚刚编辑了一篇文章,由于字数的原因,没发布成功,好我就分开写吧,今天向大家介绍的是Spring基于注释驱动的AOP,其实估计这已经不是什么新技术了,但是我争取写的通
2023-01-31

Android Framework Application Framework层简单介绍

引言 Android的四层架构相比大家都很清楚,老生常谈的说一下分别为:Linux2.6内核层,核心库层,应用框架层,应用层。我今天重点介绍一下应用框架层Framework,其实也是我自己的学习心得。
2022-06-06

Spring3 REST传送中文时编码设

前几天用Spring3写了个一个REST项目,但是通过GET方式传送中文参数的时候,有些字符接收不到。在网上找了半天没有找到相关资料,后来在QQ群里有个达人给出了解决方法,现在和大家分享一下,希望有所帮助。在web.xml中加入以下内容就可
2023-01-31

Spring Framework @Tr

转自:http://blog.163.com/sir_876/blog/static/1170522320106259562270/清单 1. 使用 JDBC 的简单数据库插入view plaincopy to clipboardprint
2023-01-31

踏上无服务器之路:Node.js 和 Serverless Framework 入门

无服务器之路:Node.js 和 Serverless Framework 入门
踏上无服务器之路:Node.js 和 Serverless Framework 入门
2024-03-02

MOEA Framework是什么

这篇文章主要介绍了MOEA Framework是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MOEA Framework 是一个用来开发 multiobjective
2023-06-17

Play Framework怎么用

本篇内容介绍了“Play Framework怎么用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!准备安装 Java 5 以上版本及Play。
2023-06-17

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录