因为最近要做Java Web方面的开发,所以,就像使用Spring来实现一个以前学其他程序时首先做的一个示例"Hello World!"练练手,之前用很多中语言实现过hello world当然也包括Java,但是没想到用Spring框架来实现输出一个Hello World还是遇到了一点麻烦,并且从网上查找的很多的资料也并不奏效,并且网上的很多资料写的也并不够详细,所以,在这里把自己用Spring实现Hello World的程序分享出来。

首先,更正一下之前的文章关于Eclipse下Spring框架安装的问题,利用之前的文章中说的直接安装插件,安装的大多是为了实现Spring IDE,也就是在Eclipse下更好的实现SPring开发的一些工具,而真正的包含的SPring框架并不全,缺少很多Jar包,所以在这里和大家分享一下我找到的一个Spring框架下载的地址,因为之前的据说都是直接用jar包就可以了,但是现在因为Spring官网改版,很难找到SpringFramework直接用Jar包的版本了,所以这里把我自己找到的资源帖出来希望可以对大家有帮助:http://repo.springsource.org/libs-release-local/org/springframework/spring/

从该站点就可以下载到一直到4.0版本的Spring Framework,下载之后会看到lib文件夹下有很多的jar包,这些jar包在使用的使用直接导入的项目里就可以了。

接下来就简单的介绍一下如何利用SPring Mvc实现一个Hello World的程序。

1.建立一个Dynamic Web Project取名为helloweb

2.在新建的项目的Java Resources文件夹下存在着一个名为src的文件夹,在其下建立一个包,包的名字可以自己来取,这里命名为com.tutorialspoint,在建立该包之后,可以在其下添加一个类,作为控制器,这里取名为HelloController.java,在其中添加代码即可

@Controller是说这个文件中的类是一个控制器,@RequestMapping("/")则是说明你输入的哪些路径会被映射到该控制器,这里的话是说在localhost:8080/helloweb/的情况下,控制器会被选择处理该请求。而该控制器最后的return语句中返回的是hello则说明返回的响应会去找一个带有hello的前端视图比如是hello.jsp.

3.在项目下的WebContent文件夹下的WEB-INF文件夹下加入一个jsp文件夹并在其中添加一个前端视图文件hello.jsp代码如下

4. 将需要用到的jar包复制到WebContent->WEB-INF->lib下,具体我用的jar包包括以下这些

5. 在WebContent->WEB-INF文件夹下建立web.xml文件

6.在WebContent->WEB-INF文件夹下建立HelloWeb-servlet.xml文件

7.将修改过的所有文件都保存,然后在项目文件夹上右键找到Export选项,选择以War的形式导出,将其导出到Tomcat安装路径下的webapps下即可,

8.启动tomcat,然后随意打开一个浏览器在地址栏中输入localhost:8080/helloweb/如果不意外的话

出现上面的界面就说明你的第一个利用Spring框架的Hello World程序就搞定了.

利用Spring实现Hello World的更多相关文章

  1. 利用spring boot创建java app

    利用spring boot创建java app 背景 在使用spring框架开发的过程中,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置和复杂的bean依赖关系,特别是在使用mvc的时候各 ...

  2. 利用spring AOP 和注解实现方法中查cache-我们到底能走多远系列(46)

    主题:这份代码是开发中常见的代码,查询数据库某个主表的数据,为了提高性能,做一次缓存,每次调用时先拿缓存数据,有则直接返回,没有才向数据库查数据,降低数据库压力. public Merchant lo ...

  3. java 利用spring JavaMailSenderImpl发送邮件,支持普通文本、附件、html、velocity模板

    java 利用spring JavaMailSenderImpl发送邮件,支持普通文本.附件.html.velocity模板 博客分类: Java Spring   本文主要介绍利用JavaMailS ...

  4. 利用spring自己实现观察者模式

    利用spring,自己实现的一个观察者模式,写着玩玩,目的是为了加深理解,下次用Spring自带的玩一玩. 首先我们定义一个侦听类接口 package com.hyenas.common.listen ...

  5. 利用Spring.Net技术打造可切换的分布式缓存读写类

    利用Spring.Net技术打造可切换的Memcached分布式缓存读写类 Memcached是一个高性能的分布式内存对象缓存系统,因为工作在内存,读写速率比数据库高的不是一般的多,和Radis一样具 ...

  6. 利用Spring AOP自定义注解解决日志和签名校验

    转载:http://www.cnblogs.com/shipengzhi/articles/2716004.html 一.需解决的问题 部分API有签名参数(signature),Passport首先 ...

  7. 利用spring,实现package下的类扫描

    项目中需要用到包扫描的情况是很多的,一般是在项目初始化的时候,根据一些条件来对某个package下的类进行特殊处理.现在想实现的功能是,在一个filter或interceptor初始化的时候,扫描指定 ...

  8. 利用spring的MultipartFile实现文件上传【原】

    利用spring的MultipartFile实现文件上传 主要依赖jar包 spring-web-3.0.6.RELEASE.jar 用到 (org.springframework.web.multi ...

  9. 利用Spring的junit4测试

    利用Spring的JUnit4进行测试 不需要再显式创建Spring容器和getBean @RunWith(SpringJUnit4ClassRunner.class) @ContextConfigu ...

  10. 利用Spring Cloud实现微服务- 熔断机制

    1. 熔断机制介绍 在介绍熔断机制之前,我们需要了解微服务的雪崩效应.在微服务架构中,微服务是完成一个单一的业务功能,这样做的好处是可以做到解耦,每个微服务可以独立演进.但是,一个应用可能会有多个微服 ...

随机推荐

  1. 07-求解Ax=0:主变量、特解

    一.定义转向算法 在第六节讲了空间,列空间,零空间的定义,这节主要讲解如何求出这些空间,即求解$Ax=0$的过程是怎么样的过程,以下面的矩阵$A$为例:(这里主要是长方阵) $A=\left[\beg ...

  2. 手机端 css 样式重置

    @charset "utf-8"; body, div, ul, li, ol, h1, h2, h3, h4, h5, h6, input, textarea, select, ...

  3. springboot--异步执行的方法及定时执行的方法

    让方法被调用后异步的执行 一般来说,要异步执行一个任务都是创建一个线程来专门干这个任务.在springboot中有 @Async 这个注解快速实现方法的异步执行.只需要两步:第一步: 在启动类上加上@ ...

  4. hdu 6050: Funny Function (2017 多校第二场 1006) 【找规律】

    题目链接 暴力打个表找下规律就好了,比赛时看出规律来了倒是,然而看这道题看得太晚了,而且高中的那些数列相关的技巧生疏了好多,然后推公式就比较慢..其实还是自身菜啊.. 公式是 #include< ...

  5. NIO之Buffer操作示例

    1. buffer常规操作 略 2. 只读buffer /** * 只读buffer */ public class BufferTest01 { public static void main(St ...

  6. OC + RAC (九) 过滤

    // 跳跃 : 如下,skip传入2 跳过前面两个值 // 实际用处: 在实际开发中比如 后台返回的数据前面几个没用,我们想跳跃过去,便可以用skip - (void)skip { RACSubjec ...

  7. 关于SQL Server系统数据库详解

    介绍这里我们介绍SQL Sever内部的系统数据库的作用和用户数据库之间联系,关于SQL Sever如何管理用户数据库的原理,对于每个数据库开发人员和DBA都是必须掌握的. SQL Sever系统数据 ...

  8. Linux内核设计与实现 总结笔记(第六章)内核数据结构

    内核数据结构 Linux内核实现了这些通用数据结构,而且提倡大家在开发时重用. 内核开发者应该尽可能地使用这些数据结构,而不要自作主张的山寨方法. 通用的数据结构有以下几种:链表.队列.映射和二叉树 ...

  9. vue概念

    Vue是单向数据流还是双向数据绑定? Vue是单向数据流不是双向数据绑定 Vue的双向数据绑定不过是语法糖(语法糖本质就是一种新的编码方式,并没有给语言增加新的功能.语法糖目的就是为了让代码更易读,更 ...

  10. jQuery入门教程-文档操作方法

    一.append()和appendTo() 1.1 append()方法 <body> <p>好好学习</p> <button>append() 方法& ...