日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Hello World with Spring 3 MVC

發布時間:2023/12/3 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hello World with Spring 3 MVC 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在2005年,我對Martin Fowler的這篇文章對Spring進行了介紹。從那時起,我就修改了許多IoC框架,包括Guice , PicoContainer , NanoContainer等。雖然我很喜歡與IoC一起工作,但我必須說Spring在過去的5年中,對于所有企業級應用程序開發,IoC容器一直是并將繼續是我的選擇。

Spring的最新版本(即Spring 3)已經發布了一段時間。 在撰寫本文時,最新的次要版本3.1.1已發布不到一周 。 因此,就像我通常使用某些最新版本的軟件(例如Spring,Hibernate,Maven等)所做的那樣,我重述了-也許是第1000次-與Spring的一個很好的例子。 但是,這次我想與大家分享一下,希望Spring的新手會發現這篇文章有用。 牢記目標讀者,我覺得有關Spring MVC的文章會更有用。

在繼續之前,我必須提到,網上沒有關于此主題的文章。 其中一些是高度推薦的,例如本項 。 在我的文章(與我已經閱讀的其他文章不同)中,我打算僅將Eclipse用作編輯器,并將Maven用于大多數與構建和依賴項管理相關的活動。 我相信其他人也會寫類似的文章。 如果您知道任何好的文章,請讓我知道,我也會在這里提及它們。

事不宜遲,讓我們開始使用Maven創建一個普通的Web應用程序。

文件:C:\ partha \ codeRepo \ MavenCommands.bat

ECHO OFF REM ============================= REM Set the env. variables. REM ============================= SET PATH=%PATH%;C:\ProgramFiles\apache-maven-3.0.3\bin; SET JAVA_HOME=C:\ProgramFiles\Java\jdk1.7.0 REM ============================= REM Create a vanilla web applicaiton. REM ============================= call mvn archetype:create ^ -DarchetypeArtifactId=maven-archetype-webapp ^ -DarchetypeGroupId=org.apache.maven.archetypes ^ -DgroupId=org.academy ^ -DartifactId=springwebapp001 pause

這將創建一個Web應用程序springwebapp001。 您可以將其部署在任何servlet容器中,并且應該能夠訪問http:// yourmachinename:portnumber / springwebapp001 /。 它應該顯示/springwebapp001/src/main/webapp/index.jsp上可用的任何內容。

現在,我們將使用Spring依賴項,這將使我們能夠將http命中事件劫持到網站上。 在這一步,我發現這篇文章非常有用。 它為您提供了所有Spring依賴項的清單。 盡管有一些事情值得指出。 如果您只在尋找Spring MVC,那么馬上就可以只包括對Spring MVC的依賴而不是整個列表,這似乎并不明顯。 還缺少的是您也需要JSTL。 最后,我認為可能還提到過,Spring預載了公共日志記錄,在我看來,這是很好的,而且確實正在淘汰中–放棄了Logback或Log4j的位置。 所以,net net,我在pom中的依賴項版本看起來像這樣。

檔案:\ springwebapp001 \ pom.xml

[...] <properties> <project.build.sourceencoding>UTF-8</project.build.sourceencoding> <slf4j.version>1.6.1</slf4j.version> <logback.version>1.0.6</logback.version> <org.springframework.version>3.1.2.RELEASE</org.springframework.version> <javax.jstl.version>1.2</javax.jstl.version> </properties> [...] <dependency> <groupid>org.springframework</groupid> <artifactid>spring-webmvc</artifactid> <version>${org.springframework.version}</version> <exclusions> <exclusion> <groupid>commons-logging</groupid> <artifactid>commons-logging</artifactid> </exclusion> </exclusions> </dependency> [...] <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>${javax.jstl.version}</version> </dependency> [...] <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>${slf4j.version}</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>jcl-over-slf4j</artifactid> <version>${slf4j.version}</version> <scope>runtime</scope> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> <version>${slf4j.version}</version> <scope>runtime</scope> </dependency>

現在,我們已經擁有所有依賴項,并且應該能夠進行mvn -e全新安裝,而不會打h。 一旦我們做到了,現在是時候讓Spring參與其中了。 我們需要劫持* .html的所有匹配,并將其交給Spring。

文件:/src/main/webapp/WEB-INF/web.xml

[...] <servlet> <servlet-name>spring</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> [...]

這意味著我們的應用程序將尋找一個spring-servlet.xml,在這里我們需要告訴Spring它需要如何處理其攔截的點擊。

文件:/src/main/webapp/WEB-INF/spring-servlet.xml

<beans xmlns:context="http://www.springframework.org/schema/context" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" 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"> <context:component-scan base-package="org.academy.spring3.controllers"> <bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" id="viewResolver"> <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"> <property name="prefix" value="/WEB-INF/views/"> <property name="suffix" value=".jsp"> </property></property></property></bean> </context:component-scan></beans>

在這里,我們告訴Spring在org.academy.spring3.controllers包中尋找控制器。 讓我們添加一個。

文件:/src/main/java/org/academy/spring3/controllers/HelloWorld.java

@Controller public class HelloWorld { private final static Logger logger = LoggerFactory.getLogger(HelloWorld.class); @RequestMapping("/helloworld") public ModelAndView hello(){ logger.debug("In the controller."); return new ModelAndView("HelloWorld", "message", "Hello world from Spring3."); } }

在這個控制器中,我們告訴Spring攔截對helloworld.html的任何調用,并將控制權移交給hello()。 在這種方法中,我們創建了一個模型。 該模型包含一個名為“ message”的對象,該對象具有字符串“ Spring3的Hello world”。 該模型將移交給名為“ HelloWorld”的視圖。 如果您回頭查看spring-servlet.xml,將會看到“ HelloWorld”轉換為/src/main/webapp/WEB-INF/views/HelloWorld.jsp。 讓我們添加一些代碼。

文件:/src/main/webapp/WEB-INF/views/HelloWorld.jsp

<html> <head> <title>Spring 3.0 MVC</title> </head> <body> ${message} </body> </html>

這段代碼在編譯時會有些抱怨,因為我們沒有提供配置以進行回送。 以下文件可以解決問題。

文件:/src/main/resources/log4j.properties

# Set root logger level to DEBUG and its only appender to A1. log4j.rootLogger=DEBUG, A1 # configure A1 to spit out data in console log4j.appender.A1=org.apache.log4j.ConsoleAppender log4j.appender.A1.layout=org.apache.log4j.PatternLayout log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

最后,我們只需要一種方便的方法來調用helloworld.html。 讓我們修改index.jsp。

文件:/src/main/webapp/index.jsp

<html> <html> <body> <h2>Spring 3</h2> <a href="http://www.blogger.com/helloworld.html"> Hello world.</a> </body> </html>

而已。 在任何servlet容器中進行編譯和部署。 您已經啟動并運行了一個Spring 3 MVC裸示例。 搏一搏。

繼續使用Spring 3 MVC處理表單 。

參考:來自Tech Studio for Enterprise博客的JCG合作伙伴 Partho的Spring 3 MVC的Hello World 。


翻譯自: https://www.javacodegeeks.com/2012/08/hello-world-with-spring-3-mvc.html

總結

以上是生活随笔為你收集整理的Hello World with Spring 3 MVC的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。