文章详情

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

请输入下面的图形验证码

提交验证

短信预约提醒成功

【framework】spring3-m

2023-01-31 01:10

关注

前言

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

自spring3加入了大量注解之后,springMVC项目也有所更新,并且因为Git的强势来袭,已经把spring-mvc-showcase项目移到github上。

地址:https://github.com/SpringSource/spring-mvc-showcase

如果有对git陌生,可以参照书生之前的博文。 

获得项目

从github上下载项目,还不习惯用github朋友可以直接下载zip包,如图:

Magical Snap - 2012.08.29 23.49 - 001

获得SpringSource-spring-mvc-showcase-随机码.zip 

解压到我们的workspace,然后导入

导入

Magical Snap - 2012.08.29 23.51 - 002
 

 注意两个个问题:

1. 导入时,解析pom.xml时候会有个错误,在导入时可以尝试解决(太长时间了,忘了啥错了。。。)

2. 导入的是maven项目,注意图

加载jar包,并启动

运行maven install,尝试让下载所有jar包(如果你跟着做的,先把后面看完),然后启动,你会看到一个

错误信息:

 java.util.zip.ZipException: invalid LOC header (bad signature)

 提示问题可能有如下关键字:

 WEB-INF/spring/appServlet/root-context.xml

 缺少META-INF/spring.schemas

这个错,解决方式:

1. 我尝试跟着源码了一下,没解决

2. 也尝试加入了spring.schemas,无法解决。(就算取消加载部分xml,也会报错)

3. 谷哥度娘:后来在论坛里看到有说这个这个pom.xml下载得到3.0核心jar包有问题,(也可能我下载不完整,但我尝试重新下过两次)

4. 没办法,换版本吧,这时候maven管理项目的优势体现的淋漓尽致。

  1. <properties>   
  2.         <java-version>1.6</java-version>   
  3. <!--原来这里为3.1.0 -->
  4.         <org.springframework-version>3.1.1.RELEASE</org.springframework-version>  
  5.         <org.aspectj-version>1.6.10</org.aspectj-version>   
  6.         <org.slf4j-version>1.6.1</org.slf4j-version>   
  7.     </properties> 

OK,再次启动没有任何问题 

查看效果

启动tomcat,输入http://localhost:8080/${项目名}/

Magical Snap - 2012.08.30 00.11 - 003

 第一个例子

既然项目都提供给大家了,那似乎我再多说也什么用。不过还是写点,或许有些能帮助到大家。

spring-mvc-showcase项目,通过他的包名,我们也看到了spring在这里想提供struts做过的很多事情,比如:上传,异常处理,数据,表单,消息转换,校验等许多功能。

SimpleController与SimpleControllerRevisited

我用的第一个例子是org.springframework.samples.mvc.simple这个包下面的两个控制器,用到了两个最简单的例子

  1. @Controller   
  2. public class SimpleController {   
  3.  
  4.     @RequestMapping("/simple")   
  5.     public @ResponseBody String simple() {   
  6.         return "Hello world!";   
  7.     }   
  8.  
  1. @Controller   
  2. public class SimpleControllerRevisited {   
  3.  
  4.     @RequestMapping(value="/simple/revisited", method=RequestMethod.GET, headers="Accept=text/plain")   
  5.     public @ResponseBody String simple() {   
  6.         return "Hello world revisited!";   
  7.     }   
  8.  
  9. }   

这两个类的区别的@RequestMapping后面的参数,这个大家应该比较熟悉了,我简单过一下他的几个参数:

String[] value() default {}
RequestMethod[] method() default {};
String[] params() default {};
String[] headers() default {};
String[] consumes() default {};
String[] produces() default {};

着重说一下@ResponseBody

如果标注了@RespsonseBody,则该返回值被写入HTTP response body里,如效果图里的内容:Hello world!等绿色字体。 

收尾

后面再跟大家一起过一下其他的例子吧。这篇文章更多的是说一下,spring-mvc-showcase项目,以及pom.xml的问题。

阅读原文内容投诉

免责声明:

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

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

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯