javascript
Spring MVC 学习笔记一 HelloWorld
Spring MVC 學習筆記一 HelloWorld
Spring MVC 的使用可以按照以下步驟進行(使用Eclipse):
下面按照國際慣例先來一個HelloWorld,在新建項目前最好是在Eclipse中安裝一個名叫Spring IDE的插件,它會在你以后進行Spring相關開發中提供諸多便捷功能。新建一個Dynamic Web Project。
點擊兩次Next,來到向導的第三個界面上,選中紅框中的復選框。這個選項是用來生成web.xml文件的,也可以在第一個界面中直接點擊Finish而不生成web.xml,在Eclipse將項目文件和目錄生成以后自己手動添加(能生成還是直接生成吧!費那勁干啥!:) )
項目生成以后就是下面這個樣子:
下面開始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這個包不是Spring Framework中自帶的,需要自己下載,這是Spring用來做日志的。
找到以上JAR包并復制(Ctrl+C),然后到Eclipse項目中WEB-INF下的lib目錄上粘貼(Ctrl+V)就導入到項目中了,導入后就是下面這個樣子。
2、配置web.xml
打開WEB-INF下的web.xml文件,自動生成的內容如下:
<?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>節點之后,如果你覺得這個<welcome-file-list>節點礙眼的話刪了也可以。這里在配置DispatcherServlet的時候用到了Spring IDE的輔助功能:在XML文件的編輯區內按Alt + / 在彈出的列表中選擇“dispatcherservlet - DispatcherServlet declaration”,會自動插入DispatcherServlet需要的配置信息,非常方便!
當你在列表中選擇“dispatcherservlet - DispatcherServlet declaration”后生成的配置信息如下(未改動前):
<?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>下面是修改后的實際配置
<?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><!-- 配置初始化參數:配置Spring MVC配置文件的位置和名稱 --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc-config.xml</param-value></init-param><!-- load-on-startup 為 1,是指當Web App被加載時DispatcherServlet就會被創建,而不是在處理第一次請求時候 --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springDispatcherServlet</servlet-name><!-- / 表示響應所有請求 --><url-pattern>/</url-pattern></servlet-mapping> </web-app>3、DispatcherServlet的配置寫好了,但是我們還沒有創建springmvc-config.xml這個配置文件,所以現在就創建它。在項目的src目錄上點擊右鍵,選擇New--Other打開新建對話框,做如下選擇:
生成的springmvc-config.xml文件內容如下:
<?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>在繼續配置之前我們先在src目錄內創建一個包,這個包的名字就叫com.demo.controller(你可以取一個你認為合適的包名稱!),然后繼續配置springmvc-config.xml,配置好的文件是下面這個
<?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"><!-- 配置自動掃描的包 --><context:component-scan base-package="com.demo.controller"></context:component-scan><!-- 配置視圖解析器 把Controller方法返回的視圖解析為實際視圖 --><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、編寫處理請求的處理器,并添加對應注解
現在我們創建用于響應請求的Controller,在剛才新建的包內創建HelloWorld類,IDE會生成HelloWorld.java,這個就是我們的Controller的源碼文件。我們在這個文件中添加響應請求的方法并添加注解。完成后如下:
package com.demo.controller;import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping;//使用Controller注解使之成為可以響應請求的控制器 @Controller public class HelloWorld {/*** 使用RequestMapping注解映射要響應的URL* 該方法的返回值會被視圖解析器解析為實際物理視圖* 通過我們配置的視圖解析器(InternalResourceViewResolver)解析后的實際視圖為:前綴 + returnValue + 后綴* 結合我們的Spring MVC配置文件中配置的前綴和后綴組合起來就是:/WEB-INF/views/welcome.jsp*/@RequestMapping("/helloworld")public String hello() {//打印一句話我們將在控制臺中看到,不會顯示到頁面上System.out.println("Hello World");return "welcome";} }有了Controller我們還需要一個視圖,也就是我們在public String hello()這個方法中返回的welcome這個視圖,在項目的WEB-INF目錄上點右鍵選擇New--Folder新建一個目錄(我們配置的視圖的前綴“/WEB-INF/views/”,是WEB-INF目錄下的views目錄),在這個新建的目錄上點右鍵選擇New--JSP File新建一個叫welcome的JSP文件,也就是我們的視圖文件。
在這這個視圖文件中添加點內容,讓它看起來像那回事兒!
<%@ 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>需要準備的東西都差不多,現在寫一個頁面來測試一下我們的Hello World是否可以正常工作。在WebContent目錄下新建一個JSP文件,名字隨便,我這里叫index.jsp,寫個超鏈接來訪問我們在HelloWorld這個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>好了,現在在這個index.jsp文件上點右鍵,選擇Run As --- Run on Server(或者使用快捷鍵:Alt+Shift+X R),如果之前沒有配置服務器則會出現下面第一個窗口讓你先配置一個服務器,配置好以后第二次使用Run As --- Run on Server時就是下面第二個窗口的界面了,直接點Finish即可。
(我本機上安裝的是Tomcat7,所以選擇Tomcat v7.0 Server,如果你安裝的是Tomcat6或Tomcat8請選擇對應的版本)
如不出什么意外我們應該能看到下面的界面:
上面就是index.jsp頁面,點擊頁面上的那個超鏈接就可以跳轉到下面的頁面(我們的welcome視圖):
到這里我們的helloworld就完成了,這是最基礎的Spring MVC的應用,能成功完成就算是有個好的開始了。
最后貼一張整個項目的目錄結構
轉載于:https://www.cnblogs.com/huixch/p/5854976.html
總結
以上是生活随笔為你收集整理的Spring MVC 学习笔记一 HelloWorld的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 3665 Seaside
- 下一篇: [转载]我的PMP复习备考经验谈(下篇)