javascript
Spring MVC 学习笔记一 HelloWorld
Spring MVC 學(xué)習(xí)筆記一 HelloWorld
Spring MVC 的使用可以按照以下步驟進(jìn)行(使用Eclipse):
下面按照國際慣例先來一個(gè)HelloWorld,在新建項(xiàng)目前最好是在Eclipse中安裝一個(gè)名叫Spring IDE的插件,它會(huì)在你以后進(jìn)行Spring相關(guān)開發(fā)中提供諸多便捷功能。新建一個(gè)Dynamic Web Project。
點(diǎn)擊兩次Next,來到向?qū)У牡谌齻€(gè)界面上,選中紅框中的復(fù)選框。這個(gè)選項(xiàng)是用來生成web.xml文件的,也可以在第一個(gè)界面中直接點(diǎn)擊Finish而不生成web.xml,在Eclipse將項(xiàng)目文件和目錄生成以后自己手動(dòng)添加(能生成還是直接生成吧!費(fèi)那勁干啥!:) )
項(xiàng)目生成以后就是下面這個(gè)樣子:
下面開始Spring MVC的使用:
1、加入JAR包,需要以下JAR包:
commons-logging-1.2.jar
spring-aop-4.3.2.RELEASE.jar
spring-beans-4.3.2.RELEASE.jar
spring-context-4.3.2.RELEASE.jar
spring-core-4.3.2.RELEASE.jar
spring-expression-4.3.2.RELEASE.jar
spring-web-4.3.2.RELEASE.jar
spring-webmvc-4.3.2.RELEASE.jar
Spring Framework我使用的是4.3.2的,也可以是其他4.x版本。其中commons-logging這個(gè)包不是Spring Framework中自帶的,需要自己下載,這是Spring用來做日志的。
找到以上JAR包并復(fù)制(Ctrl+C),然后到Eclipse項(xiàng)目中WEB-INF下的lib目錄上粘貼(Ctrl+V)就導(dǎo)入到項(xiàng)目中了,導(dǎo)入后就是下面這個(gè)樣子。
2、配置web.xml
打開WEB-INF下的web.xml文件,自動(dòng)生成的內(nèi)容如下:
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>HelloWorld</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list> </web-app>我們把DispatcherServlet的配置寫在<welcome-file-list>節(jié)點(diǎn)之后,如果你覺得這個(gè)<welcome-file-list>節(jié)點(diǎn)礙眼的話刪了也可以。這里在配置DispatcherServlet的時(shí)候用到了Spring IDE的輔助功能:在XML文件的編輯區(qū)內(nèi)按Alt + / 在彈出的列表中選擇“dispatcherservlet - DispatcherServlet declaration”,會(huì)自動(dòng)插入DispatcherServlet需要的配置信息,非常方便!
當(dāng)你在列表中選擇“dispatcherservlet - DispatcherServlet declaration”后生成的配置信息如下(未改動(dòng)前):
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>HelloWorld</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><!-- The front controller of this Spring Web application, responsible for handling all application requests --><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>location</param-value></init-param><load-on-startup>1</load-on-startup></servlet><!-- Map all requests to the DispatcherServlet for handling --><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><url-pattern>url</url-pattern></servlet-mapping> </web-app>下面是修改后的實(shí)際配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"id="WebApp_ID" version="3.0"><display-name>HelloWorld</display-name><welcome-file-list><welcome-file>index.html</welcome-file><welcome-file>index.htm</welcome-file><welcome-file>index.jsp</welcome-file><welcome-file>default.html</welcome-file><welcome-file>default.htm</welcome-file><welcome-file>default.jsp</welcome-file></welcome-file-list><!-- 配置DispatcherServlet --><servlet><servlet-name>springDispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- 配置初始化參數(shù):配置Spring MVC配置文件的位置和名稱 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-config.xml</param-value></init-param><!-- load-on-startup 為 1,是指當(dāng)Web App被加載時(shí)DispatcherServlet就會(huì)被創(chuàng)建,而不是在處理第一次請(qǐng)求時(shí)候 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><!-- / 表示響應(yīng)所有請(qǐng)求 --><url-pattern>/</url-pattern></servlet-mapping> </web-app>3、DispatcherServlet的配置寫好了,但是我們還沒有創(chuàng)建springmvc-config.xml這個(gè)配置文件,所以現(xiàn)在就創(chuàng)建它。在項(xiàng)目的src目錄上點(diǎn)擊右鍵,選擇New--Other打開新建對(duì)話框,做如下選擇:
生成的springmvc-config.xml文件內(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:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd"></beans>在繼續(xù)配置之前我們先在src目錄內(nèi)創(chuàng)建一個(gè)包,這個(gè)包的名字就叫com.demo.controller(你可以取一個(gè)你認(rèn)為合適的包名稱!),然后繼續(xù)配置springmvc-config.xml,配置好的文件是下面這個(gè)
<?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:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.3.xsd"><!-- 配置自動(dòng)掃描的包 --><context:component-scan base-package="com.demo.controller"></context:component-scan><!-- 配置視圖解析器 把Controller方法返回的視圖解析為實(shí)際視圖 --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><!-- 前綴 --><property name="prefix" value="/WEB-INF/views/"></property><!-- 后綴 --><property name="suffix" value=".jsp"></property></bean> </beans>4、編寫處理請(qǐng)求的處理器,并添加對(duì)應(yīng)注解
現(xiàn)在我們創(chuàng)建用于響應(yīng)請(qǐng)求的Controller,在剛才新建的包內(nèi)創(chuàng)建HelloWorld類,IDE會(huì)生成HelloWorld.java,這個(gè)就是我們的Controller的源碼文件。我們?cè)谶@個(gè)文件中添加響應(yīng)請(qǐng)求的方法并添加注解。完成后如下:
package com.demo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;//使用Controller注解使之成為可以響應(yīng)請(qǐng)求的控制器 @Controller public class HelloWorld {/*** 使用RequestMapping注解映射要響應(yīng)的URL* 該方法的返回值會(huì)被視圖解析器解析為實(shí)際物理視圖* 通過我們配置的視圖解析器(InternalResourceViewResolver)解析后的實(shí)際視圖為:前綴 + returnValue + 后綴* 結(jié)合我們的Spring MVC配置文件中配置的前綴和后綴組合起來就是:/WEB-INF/views/welcome.jsp*/@RequestMapping("/helloworld")public String hello() {//打印一句話我們將在控制臺(tái)中看到,不會(huì)顯示到頁面上System.out.println("Hello World");return "welcome";} }有了Controller我們還需要一個(gè)視圖,也就是我們?cè)趐ublic String hello()這個(gè)方法中返回的welcome這個(gè)視圖,在項(xiàng)目的WEB-INF目錄上點(diǎn)右鍵選擇New--Folder新建一個(gè)目錄(我們配置的視圖的前綴“/WEB-INF/views/”,是WEB-INF目錄下的views目錄),在這個(gè)新建的目錄上點(diǎn)右鍵選擇New--JSP File新建一個(gè)叫welcome的JSP文件,也就是我們的視圖文件。
在這這個(gè)視圖文件中添加點(diǎn)內(nèi)容,讓它看起來像那回事兒!
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!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>hello world</title> </head> <body><h2>Hello World</h2> </body> </html>需要準(zhǔn)備的東西都差不多,現(xiàn)在寫一個(gè)頁面來測(cè)試一下我們的Hello World是否可以正常工作。在WebContent目錄下新建一個(gè)JSP文件,名字隨便,我這里叫index.jsp,寫個(gè)超鏈接來訪問我們?cè)贖elloWorld這個(gè)Controller里映射的URL。
<%@ page language="java" contentType="text/html; charset=UTF-8"pageEncoding="UTF-8"%> <!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>Insert title here</title> </head> <body><!-- 訪問我們映射的URL -->訪問<a href="helloworld">helloworld</a> </body> </html>好了,現(xiàn)在在這個(gè)index.jsp文件上點(diǎn)右鍵,選擇Run As --- Run on Server(或者使用快捷鍵:Alt+Shift+X R),如果之前沒有配置服務(wù)器則會(huì)出現(xiàn)下面第一個(gè)窗口讓你先配置一個(gè)服務(wù)器,配置好以后第二次使用Run As --- Run on Server時(shí)就是下面第二個(gè)窗口的界面了,直接點(diǎn)Finish即可。
(我本機(jī)上安裝的是Tomcat7,所以選擇Tomcat v7.0 Server,如果你安裝的是Tomcat6或Tomcat8請(qǐng)選擇對(duì)應(yīng)的版本)
如不出什么意外我們應(yīng)該能看到下面的界面:
上面就是index.jsp頁面,點(diǎn)擊頁面上的那個(gè)超鏈接就可以跳轉(zhuǎn)到下面的頁面(我們的welcome視圖):
到這里我們的helloworld就完成了,這是最基礎(chǔ)的Spring MVC的應(yīng)用,能成功完成就算是有個(gè)好的開始了。
最后貼一張整個(gè)項(xiàng)目的目錄結(jié)構(gòu)
轉(zhuǎn)載于:https://www.cnblogs.com/huixch/p/5854976.html
總結(jié)
以上是生活随笔為你收集整理的Spring MVC 学习笔记一 HelloWorld的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 3665 Seaside
- 下一篇: javascript中构造函数的说明