博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Spring]01_环境配置
阅读量:6161 次
发布时间:2019-06-21

本文共 4923 字,大约阅读时间需要 16 分钟。

1.1 Spring jar包下载


1进入官网http://repo.spring.io

2在资源库界面点击标签,然后点击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)导入springjar

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的清单。

<?
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
>

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

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

 

4)添加servlet——spring.xml

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

<?
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
>

 

(5) 添加Controller——LoginController.java

ControllerSpringMVC的控制器,用于处理页面请求。

新建一个名为LoginControllerjava文件,内容如下:

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;
      }
}

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

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

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

 

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

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

<
%@ 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
>

 

7)运行项目

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

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

 

参考资料


Spring实战(第3版)

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

你可能感兴趣的文章
(转)Cortex-M3 (NXP LPC1788)之EEPROM存储器
查看>>
ubuntu set defult jdk
查看>>
[译]ECMAScript.next:TC39 2012年9月会议总结
查看>>
【Xcode】编辑与调试
查看>>
用tar和split将文件分包压缩
查看>>
[BTS] Could not find stored procedure 'mp_sap_check_tid'
查看>>
PLSQL DBMS_DDL.ALTER_COMPILE
查看>>
Activity生命周期
查看>>
高仿UC浏览器弹出菜单效果
查看>>
Ubuntu忘记密码,进不了系统的解决方法
查看>>
[原创]白盒测试技术思维导图
查看>>
<<Information Store and Management>> 读书笔记 之八
查看>>
Windows 8 开发之设置合约
查看>>
闲说HeartBeat心跳包和TCP协议的KeepAlive机制
查看>>
MoSQL
查看>>
Hibernate多对一外键单向关联(Annotation配置)
查看>>
《CLR via C#》读书笔记 之 方法
查看>>
设计模式:组合模式(Composite Pattern)
查看>>
ContentValues 和HashTable区别
查看>>
LogicalDOC 6.6.2 发布,文档管理系统
查看>>