Spring--环境配置
目录
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的清单。
- <span style="font-size:14px;"><?xml version="1.0" encoding="UTF-8"?>
- <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="
- http://java.sun.com/xml/ns/javaee
- http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
- <display-name>SpringHello</display-name>
- <!-- 声明前端控制器 -->
- <servlet>
- <servlet-name>spring</servlet-name>
- <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
- <init-param>
- <!-- 如果不设置的话,默认的servlet配置文件名为xxx-servlet.xml -->
- <param-name>contextConfigLocation</param-name>
- <param-value>/WEB-INF/spring.xml</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <!-- 声明DispatcherServlet处理哪些URL -->
- <servlet-mapping>
- <servlet-name>spring</servlet-name>
- <url-pattern>/</url-pattern><!-- 映射到/表示会处理所有的请求 -->
- </servlet-mapping>
- </web-app>
- </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对应上),内容如下:
- <span style="font-size:14px;"><?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/beans
- http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
- http://www.springframework.org/schema/context
- http://www.springframework.org/schema/context/spring-context-3.0.xsd
- http://www.springframework.org/schema/util
- http://www.springframework.org/schema/util/spring-util-3.0.xsd
- http://www.springframework.org/schema/mvc
- http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd">
- <!-- 默认的注解映射的支持 -->
- <mvc:annotation-driven />
- <!-- 如果当前请求为“/”时,则转发到“/login/index” -->
- <mvc:view-controller path="/" view-name="forward:/login/index" />
- <!-- 设置后,将查找使用@Component(@Controller是它的一种具体化)注解的类并将其注册为Bean -->
- <context:component-scan base-package="com.demo.web.controllers" />
- <!-- 配置视图解析器 (该配置的是jstl解析器的一个扩展解析类) -->
- <bean
- class="org.springframework.web.servlet.view.InternalResourceViewResolver">
- <property name="prefix" value="/WEB-INF/view/" />
- <property name="suffix" value=".jsp" />
- </bean>
- </beans></span>
(5) 添加Controller——LoginController.java
Controller是SpringMVC的控制器,用于处理页面请求。
新建一个名为LoginController的java文件,内容如下:
- <span style="font-size:14px;">package com.demo.web.controllers;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.RequestMapping;
- import org.springframework.web.bind.annotation.RequestMethod;
- import org.springframework.web.servlet.ModelAndView;
- @Controller
- public class LoginController {
- @RequestMapping(value="/login/index", method = RequestMethod.GET)
- public ModelAndView index() {
- ModelAndView mav = new ModelAndView();
- mav.addObject("message", "Hello World! First program!");
- mav.setViewName("index"); // 设置视图名称
- return mav;
- }
- }</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文件,内容如下:
- <span style="font-size:14px;">
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <!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>Spring Hello World</title>
- </head>
- <body>
- <h1>${message}</h1>
- </body>
- </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--环境配置的更多相关文章
- Spring环境配置
研究spring3的时候发现一个非常好用的特性:环境配置(spring2是否有此特性未知) 官方演示样例代码例如以下: <!-- app-config.xml --> <beans ...
- Spring学习随笔(2):Eclipse下Spring环境配置+入门项目
1 准备工作 (按需下载) Eclipse 下载:http://www.eclipse.org/downloads/eclipse-packages/ : Spring 下载:http://repo. ...
- eclipse下的spring环境配置
1) 工具: (1) jdk (2) spring.jar .commons-logging-1.1.1.jar (因为只是做的简单的demo,所以就只用这两个jar包) spring.jar 是包 ...
- myeclipse8.6 for spring环境配置
- eclipse中配置spring环境
初识Spring框架 1.简单使用 eclipse中配置Spring环境,如果是初学的话,只需要在eclipse中引入几个jar包就可以用了, 在普通java project项目目录下,建一个lib文 ...
- Spring MVC 学习总结(一)——MVC概要与环境配置 转载自【张果】博客
Spring MVC 学习总结(一)--MVC概要与环境配置 目录 一.MVC概要 二.Spring MVC介绍 三.第一个Spring MVC 项目:Hello World 3.1.通过Mave ...
- Spring boot项目maven的profile多环境配置不自动替换变量的问题解决
Spring boot项目maven的profile多环境配置不自动替换变量的问题解决 在网上找了好久,配置都很简单,可是我的程序就是不能自动替换变量,最终单独测试,发现原来是引用spring b ...
- Spring Cloud:多环境配置、eureka 安全认证、容器宿主机IP注册
记录一下搭建 Spring Cloud 过程中踩过的一些坑,测试的东西断断续续已经弄了好多了,一直没有时间整理搭建过程,时间啊~时间~ Spring 版本 Spring Boot:2.0.6.RELE ...
- SpringCloud入门之Spring Boot多环境配置切换指南
在 spring boot 中,有两种配置文件,一种是application.properties,另一种是application.yml,两种都可以配置spring boot 项目中的一些变量的定义 ...
- spring程序打包war,直接通过-jar启动,并指定spring.profiles.active参数控制多环境配置
备注:spring boot有内嵌tomcat,jar项目可以用java -jar命令启动,war包也可以,且可以直接指定spring.profiles.active参数控制多环境配置 直接指定传参, ...
随机推荐
- 20160120使用myeclipse一年开始转IntelliJ IDEA 15做以下总结
20160120使用myeclipse一年开始费元星转IntelliJ IDEA 15做以下总结 1.输入psv就会看到一个psvm的提示,此时点击tab键一个main方法就写好了.psvm 也就是p ...
- MinGW安装图文教程以及如何配置C语音编程环境
MinGW安装图文教程以及如何配置C语音编程环境 转载自:http://www.jb51.net/softjc/192017.html MinGW 是一组包含文件和端口库,其功能是允许控制台模式的程序 ...
- 多个excel合并(excel2007)
1.新建一个空的excel文件,在需要合并的目录下. 2.右键点击sheet1,点击查看代码 3.执行此段代码 Sub 合并当前目录下所有工作簿的全部工作表() Dim MyPath, MyName, ...
- Qt_C++交换两个数
在编程过程中,交换两个数是我用常用的 ,这里做下简单的搬运 bool Widget::swap(int a, int b) { int temp =a; a= b; b = temp; } 这种方式其 ...
- 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 ...
- nopcommerce商城系统--技术与系统需求
原址:http://www.nopcommerce.com/technologysystemrequirements.aspx 在这里,我们将着眼于nopCommerce的系统要求.为了运行nopCo ...
- c语言第五次作业-指针-总结博客
本次作业亮点 1.1整体情况 本次作业主要是对上次的大作业利用指针进行改进,但是大部分同学并没有很好按照老师的要求对大作业进行改进,函数的分装性也做得不够好,由于是初步学习指针,大家在本次的作业改造中 ...
- 【Linux】Linux修改openfiles后不生效问题?
#次故障问题环境背景: Centos7.4物理机,升级过ssh和ntp: #一般只需要在此文件后面添加4行就行,配置后即可生效(exit再次登录即可生效),此次配置后没生效,reboot还是没生效,在 ...
- 关于Assert
如果没有连1394线debug,assert不影响程序的执行,只会在dbgview里面答应"Assertion xxxx"这样的调试信息. 当连着1394线的时候,OS会被hang ...
- Hibernate对象状态
对象状态 瞬时(transient) 自己new出来的对象,数据库没有记录与之对应,与session也没有关联 持久(persistent) 数据库中有记录与之对应,当前与session有关联,相关的 ...