目录

1.1 Spring jar包下载

1.2 Hello World

参考资料



1.1 Spring jar包下载



(1)进入官网http://repo.spring.io(或者 http://maven.springframework.org/release/org/springframework/spring/)



(2)在资源库界面点击Artifacts标签,然后点击libs-release-local,展开后依次点击org -> springframework -> spring。





 

然后,就可以看到发布的各个版本,选一个自己需要的版本,点击Download。



(我这里下载的是当前最新版本spring-framework-4.1.6.RELEASE-dist)





 

 



1.2 Hello World



SpringMVC 配置过程中很容易出现各式各样的问题,很是费劲。





下面提供傻瓜式创建HelloWorld工程的方式,希望大家少走弯路。





(1)创建一个Dynamic Web Project



点击File -> New -> Other, 输入web, 可以找到Dynamic Web Project。













新建一个名为SpringHello的工程。可参考下图的配置 。









(2)导入spring的jar包





在WEB-INF目录下新建一个lib目录(如果没有lib目录)。





将下载的spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs中的jar包拷贝到WEB-INF\lib 目录下





为图省事,本人将所有jar都拷贝进来了。





此外,spring框架还依赖一个外部jar包:commons-logging-1.2.jar,需要下载并导入。





注:顺便提一下,spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs下的jar包分为普通jar包、sources jar包和javadoc jar包。sources 和javadoc分别包含了普通jar包的源码和java文档。





有兴趣想看spring源码的朋友可以导入,导入方法网上有很多介绍,这里不赘述。





(3)添加web.xml





web.xml文件中声明了servlet的清单。

  1. <span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
  2. <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="
  5. http://java.sun.com/xml/ns/javaee
  6. http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  7.  
  8. <display-name>SpringHello</display-name>
  9.  
  10. <!-- 声明前端控制器 -->
  11. <servlet>
  12. <servlet-name>spring</servlet-name>
  13. <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  14. <init-param>
  15. <!-- 如果不设置的话,默认的servlet配置文件名为xxx-servlet.xml -->
  16. <param-name>contextConfigLocation</param-name>
  17. <param-value>/WEB-INF/spring.xml</param-value>
  18. </init-param>
  19. <load-on-startup>1</load-on-startup>
  20. </servlet>
  21.  
  22. <!-- 声明DispatcherServlet处理哪些URL -->
  23. <servlet-mapping>
  24. <servlet-name>spring</servlet-name>
  25. <url-pattern>/</url-pattern><!-- 映射到/表示会处理所有的请求 -->
  26. </servlet-mapping>
  27. </web-app>
  28. </span>

SpringMVC的核心是DispatcherServlet,这个servlet的角色是前端控制器。所有的servlet都是在web.xml中配置的,DispatcherServlet当然也不例外。





如果不指定contextConfigLocation,默认情况下servlet配置文件的名字形式应该为servlet名-servlet.xml, 这个servlet名就是<servlet-name>标签中的名字。





(4)添加servlet——spring.xml





新建一个名为spring.xml的文件(这个文件名必须和web.xml中的servlet对应上),内容如下:

  1. <span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
  2. <beans xmlns="http://www.springframework.org/schema/beans"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xmlns:p="http://www.springframework.org/schema/p"
  5. xmlns:context="http://www.springframework.org/schema/context"
  6. xmlns:util="http://www.springframework.org/schema/util"
  7. xmlns:mvc="http://www.springframework.org/schema/mvc"
  8. xsi:schemaLocation="
  9. http://www.springframework.org/schema/beans
  10. http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
  11. http://www.springframework.org/schema/context
  12. http://www.springframework.org/schema/context/spring-context-3.0.xsd
  13. http://www.springframework.org/schema/util
  14. http://www.springframework.org/schema/util/spring-util-3.0.xsd
  15. http://www.springframework.org/schema/mvc
  16. http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
  17.  
  18. <!-- 默认的注解映射的支持 -->
  19. <mvc:annotation-driven />
  20.  
  21. <!-- 如果当前请求为“/”时,则转发到“/login/index” -->
  22. <mvc:view-controller path="/" view-name="forward:/login/index" />
  23.  
  24. <!-- 设置后,将查找使用@Component(@Controller是它的一种具体化)注解的类并将其注册为Bean -->
  25. <context:component-scan base-package="com.demo.web.controllers" />
  26.  
  27. <!-- 配置视图解析器 (该配置的是jstl解析器的一个扩展解析类) -->
  28. <bean
  29. class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  30. <property name="prefix" value="/WEB-INF/view/" />
  31. <property name="suffix" value=".jsp" />
  32. </bean>
  33. </beans></span>

(5) 添加Controller——LoginController.java





Controller是SpringMVC的控制器,用于处理页面请求。

新建一个名为LoginController的java文件,内容如下:

  1. <span style="font-size:14px;">package com.demo.web.controllers;
  2.  
  3. import org.springframework.stereotype.Controller;
  4. import org.springframework.web.bind.annotation.RequestMapping;
  5. import org.springframework.web.bind.annotation.RequestMethod;
  6. import org.springframework.web.servlet.ModelAndView;
  7.  
  8. @Controller
  9. public class LoginController {
  10. @RequestMapping(value="/login/index", method = RequestMethod.GET)
  11. public ModelAndView index() {
  12. ModelAndView mav = new ModelAndView();
  13. mav.addObject("message", "Hello World! First program!");
  14. mav.setViewName("index"); // 设置视图名称
  15. return mav;
  16. }
  17. }</span>

Spring2.5版本引入了注解方式,所以,我们可以很方便的使用@Controller来将一个类标注为控制器。





在spring.xml中,我们定义了<context:component-scan>标签,这样LoginController会自动被发现并注册为Bean。需要注意的是pacake要相互对应。





@RequestMapping可以将一个URL映射到一个实体类或一个特殊的handler方法上。RequestMethod.GET表示只接受get请求。





(6)添加视图——index.jsp





在/WEB-INF文件夹下新建一个view文件夹,并添加一个名为index的jsp文件,内容如下:

  1. <span style="font-size:14px;">
  2. <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
  3. pageEncoding="ISO-8859-1"%>
  4. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  5. <html>
  6. <head>
  7. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  8. <title>Spring Hello World</title>
  9. </head>
  10. <body>
  11. <h1>${message}</h1>
  12. </body>
  13. </html></span>

(7)运行项目



经过上面的步骤,项目文件结构如下







运行项目,选择Run As -> Run On Server结果如下:









参考资料

Spring实战(第3版)

http://www.cnblogs.com/liukemng/p/3725582.html

from: http://www.cnblogs.com/jingmoxukong/p/4503462.html

Spring--环境配置的更多相关文章

  1. Spring环境配置

    研究spring3的时候发现一个非常好用的特性:环境配置(spring2是否有此特性未知) 官方演示样例代码例如以下: <!-- app-config.xml --> <beans ...

  2. Spring学习随笔(2):Eclipse下Spring环境配置+入门项目

    1 准备工作 (按需下载) Eclipse 下载:http://www.eclipse.org/downloads/eclipse-packages/ : Spring 下载:http://repo. ...

  3. eclipse下的spring环境配置

    1) 工具: (1) jdk (2) spring.jar  .commons-logging-1.1.1.jar (因为只是做的简单的demo,所以就只用这两个jar包) spring.jar 是包 ...

  4. myeclipse8.6 for spring环境配置

     

  5. eclipse中配置spring环境

    初识Spring框架 1.简单使用 eclipse中配置Spring环境,如果是初学的话,只需要在eclipse中引入几个jar包就可以用了, 在普通java project项目目录下,建一个lib文 ...

  6. Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客

    Spring MVC 学习总结(一)--MVC概要与环境配置   目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Mave ...

  7. Spring boot项目maven的profile多环境配置不自动替换变量的问题解决

    Spring boot项目maven的profile多环境配置不自动替换变量的问题解决   在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...

  8. Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册

    记录一下搭建 Spring Cloud 过程中踩过的一些坑,测试的东西断断续续已经弄了好多了,一直没有时间整理搭建过程,时间啊~时间~ Spring 版本 Spring Boot:2.0.6.RELE ...

  9. SpringCloud入门之Spring Boot多环境配置切换指南

    在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义 ...

  10. spring程序打包war,直接通过-jar启动,并指定spring.profiles.active参数控制多环境配置

    备注:spring boot有内嵌tomcat,jar项目可以用java -jar命令启动,war包也可以,且可以直接指定spring.profiles.active参数控制多环境配置 直接指定传参, ...

随机推荐

  1. 20160120使用myeclipse一年开始转IntelliJ IDEA 15做以下总结

    20160120使用myeclipse一年开始费元星转IntelliJ IDEA 15做以下总结 1.输入psv就会看到一个psvm的提示,此时点击tab键一个main方法就写好了.psvm 也就是p ...

  2. MinGW安装图文教程以及如何配置C语音编程环境

    MinGW安装图文教程以及如何配置C语音编程环境 转载自:http://www.jb51.net/softjc/192017.html MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序 ...

  3. 多个excel合并(excel2007)

    1.新建一个空的excel文件,在需要合并的目录下. 2.右键点击sheet1,点击查看代码 3.执行此段代码 Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, ...

  4. Qt_C++交换两个数

    在编程过程中,交换两个数是我用常用的 ,这里做下简单的搬运 bool Widget::swap(int a, int b) { int temp =a; a= b; b = temp; } 这种方式其 ...

  5. LeetCode - 70. Climbing Stairs(0ms)

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...

  6. nopcommerce商城系统--技术与系统需求

    原址:http://www.nopcommerce.com/technologysystemrequirements.aspx 在这里,我们将着眼于nopCommerce的系统要求.为了运行nopCo ...

  7. c语言第五次作业-指针-总结博客

    本次作业亮点 1.1整体情况 本次作业主要是对上次的大作业利用指针进行改进,但是大部分同学并没有很好按照老师的要求对大作业进行改进,函数的分装性也做得不够好,由于是初步学习指针,大家在本次的作业改造中 ...

  8. 【Linux】Linux修改openfiles后不生效问题?

    #次故障问题环境背景: Centos7.4物理机,升级过ssh和ntp: #一般只需要在此文件后面添加4行就行,配置后即可生效(exit再次登录即可生效),此次配置后没生效,reboot还是没生效,在 ...

  9. 关于Assert

    如果没有连1394线debug,assert不影响程序的执行,只会在dbgview里面答应"Assertion xxxx"这样的调试信息. 当连着1394线的时候,OS会被hang ...

  10. Hibernate对象状态

    对象状态 瞬时(transient) 自己new出来的对象,数据库没有记录与之对应,与session也没有关联 持久(persistent) 数据库中有记录与之对应,当前与session有关联,相关的 ...