javascript
[Spring]01_环境配置
1.1 Spring jar包下載
(1)進(jìn)入官網(wǎng)http://repo.spring.io
(2)在資源庫(kù)界面點(diǎn)擊Artifacts標(biāo)簽,然后點(diǎn)擊libs-release-local,展開后依次點(diǎn)擊org -> springframework -> spring。
?然后,就可以看到發(fā)布的各個(gè)版本,選一個(gè)自己需要的版本,點(diǎn)擊Download。
(我這里下載的是當(dāng)前最新版本spring-framework-4.1.6.RELEASE-dist)
??
1.2 Hello World
SpringMVC?配置過(guò)程中很容易出現(xiàn)各式各樣的問(wèn)題,很是費(fèi)勁。
下面提供傻瓜式創(chuàng)建HelloWorld工程的方式,希望大家少走彎路。
(1)創(chuàng)建一個(gè)Dynamic Web Project
點(diǎn)擊File -> New -> Other,?輸入web,?可以找到Dynamic Web Project。
新建一個(gè)名為SpringHello的工程。可參考下圖的配置 。(2)導(dǎo)入spring的jar包
在WEB-INF目錄下新建一個(gè)lib目錄(如果沒(méi)有lib目錄)。
將下載的spring-framework-4.1.6.RELEASE-dist\spring-framework-4.1.6.RELEASE\libs中的jar包拷貝到WEB-INF\lib目錄下
為圖省事,本人將所有jar都拷貝進(jìn)來(lái)了。
此外,spring框架還依賴一個(gè)外部jar包:commons-logging-1.2.jar,需要下載并導(dǎo)入。
注:順便提一下,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源碼的朋友可以導(dǎo)入,導(dǎo)入方法網(wǎng)上有很多介紹,這里不贅述。
?
(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>
?????????????????????<!--?如果不設(shè)置的話,默認(rèn)的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><!--?映射到/表示會(huì)處理所有的請(qǐng)求?-->
???????</servlet-mapping>
</web-app>
SpringMVC的核心是DispatcherServlet,這個(gè)servlet的角色是前端控制器。所有的servlet都是在web.xml中配置的,DispatcherServlet當(dāng)然也不例外。
如果不指定contextConfigLocation,默認(rèn)情況下servlet配置文件的名字形式應(yīng)該為servlet名-servlet.xml,?這個(gè)servlet名就是<servlet-name>標(biāo)簽中的名字。
?
(4)添加servlet——spring.xml
新建一個(gè)名為spring.xml的文件(這個(gè)文件名必須和web.xml中的servlet對(duì)應(yīng)上),內(nèi)容如下:
<?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">
?
???????<!--?默認(rèn)的注解映射的支持?-->
???????<mvc:annotation-driven?/>
??????
???????<!--?如果當(dāng)前請(qǐng)求為“/”時(shí),則轉(zhuǎn)發(fā)到“/login/index”?-->
???????<mvc:view-controller?path="/"?view-name="forward:/login/index"?/>
??????
???????<!--?設(shè)置后,將查找使用@Component(@Controller是它的一種具體化)注解的類并將其注冊(cè)為Bean?-->
???????<context:component-scan?base-package="com.demo.web.controllers"?/>
?
???????<!--?配置視圖解析器?(該配置的是jstl解析器的一個(gè)擴(kuò)展解析類)?-->
???????<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
Controller是SpringMVC的控制器,用于處理頁(yè)面請(qǐng)求。
新建一個(gè)名為LoginController的java文件,內(nèi)容如下:
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");?//?設(shè)置視圖名稱
????????????return?mav;
??????}
}
Spring2.5版本引入了注解方式,所以,我們可以很方便的使用@Controller來(lái)將一個(gè)類標(biāo)注為控制器。
在spring.xml中,我們定義了<context:component-scan>標(biāo)簽,這樣LoginController會(huì)自動(dòng)被發(fā)現(xiàn)并注冊(cè)為Bean。需要注意的是pacake要相互對(duì)應(yīng)。
@RequestMapping可以將一個(gè)URL映射到一個(gè)實(shí)體類或一個(gè)特殊的handler方法上。RequestMethod.GET表示只接受get請(qǐng)求。
?
(6)添加視圖——index.jsp
在/WEB-INF文件夾下新建一個(gè)view文件夾,并添加一個(gè)名為index的jsp文件,內(nèi)容如下:
<%@?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)運(yùn)行項(xiàng)目
經(jīng)過(guò)上面的步驟,項(xiàng)目文件結(jié)構(gòu)如下
運(yùn)行項(xiàng)目,選擇Run As -> Run On Server結(jié)果如下:
?本文轉(zhuǎn)自靜默虛空博客園博客,原文鏈接:http://www.cnblogs.com/jingmoxukong/p/4503462.html,如需轉(zhuǎn)載請(qǐng)自行聯(lián)系原作者
總結(jié)
以上是生活随笔為你收集整理的[Spring]01_环境配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机学院创新实验室,ACM创新实验室概
- 下一篇: javascript库之Mustache