javascript
SpringMVC Hello World 实例
2019獨角獸企業重金招聘Python工程師標準>>>
環境的準備
安裝JDK
-
下載地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 選擇 JDK7u80
-
安裝JDK
-
配置 JAVE_HOME CLASSPATH PATH 環境變量
安裝tomcat
- 下載地址:http://tomcat.apache.org/download-80.cgi
- 解壓到規劃的目錄
安裝eclipse for j2ee
- 下載地址:http://www.eclipse.org/downloads/
- 選擇Eclipse IDE for Java EE Developers
- 解壓到規劃目錄
下載spring-framework
- 下載地址:http://repo.springsource.org/libs-release-local/org/springframework/spring/
- 選擇版本4.1.8.RELEASE
- 解壓到規劃目錄
下載依賴包
-
下載commons-logging,地址:http://commons.apache.org/proper/commons-logging/download_logging.cgi
-
下載log4j,地址:http://logging.apache.org/log4j/1.2/download.html
配置開發環境
- 啟動eclipse
- 配置tomcate。windows-->preferences-->server-->runtime environments。add tomcat,安裝地址為tomcat8的解壓目錄,jre選擇jre7
開發Hello World
新建web工程
- 新建 Dynamic Web Project
target runtime 選擇 Apache Tomcat v8.0
Dynamic web module version 選擇 3.1。注意 tomcat7,不支持高版本
Configuration 選擇 Tomcat v8.0
- 添加 source folder
- 配置 web module
勾選 Generate web.xml deployment descriptor
添加工程內容
- 添加依賴包
將spring-framework的包拷貝到WebContent/WEB_INF/lib下。
將commons-logging的包拷貝到WebContent/WEB_INF/lib下。
將log4j的包拷貝到WebContent/WEB_INF/lib下。
- 修改web.xml
- 添加servlet 在WebContent/WEB_INF下添加 SpringMVC-servlet.xml文件,內容如下:
- 添加jsp文件 在WebContent/WEB_INF/jsp下添加 hello.jsp,內容如下:
- 添加controller 在src下添加class文件:HelloController.java,內容如下:
運行工程
- 新建tomcat server 在servers視圖中新建一個server
直接點擊finish
- 配置tomcat server
選擇server,然后右鍵,可以看到有 open start stop restart等操作
- 運行spring工程
右鍵web porject, Run As --> Run on Server.
在eclipse的瀏覽器,或者本機的瀏覽器地址欄輸入:http://localhost:808/SpringMVC/hello 就可以看到輸出的內容
調試
當修改了java的內容后,等上幾秒鐘就會重新編譯,并且推送到tomcat目錄下,刷新頁面就可以看到變化。
常見問題
訪問tomcat 404
是因為在servers視圖中創建了server,但是沒有配置使用tocat的安裝目錄導致。
解決方法:在servers視圖刪除server,并新建,新建后 勾選 “server location” 下的 “use tomcat installation”,并保存
如果“server locations”下為灰色,則刪除server后重建,或者多刪除幾次。
spring工程無法啟動
表現為tomcat無法啟動
啟動spring工程報錯,異常信息如下:
嚴重: A child container failed during start java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMVC]]at java.util.concurrent.FutureTask.report(Unknown Source)at java.util.concurrent.FutureTask.get(Unknown Source)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:916)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:871)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)at java.util.concurrent.FutureTask.run(Unknown Source)at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)at java.lang.Thread.run(Unknown Source) Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/SpringMVC]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)... 6 more Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log;at java.lang.Class.getDeclaredFields0(Native Method)at java.lang.Class.privateGetDeclaredFields(Unknown Source)at java.lang.Class.getDeclaredFields(Unknown Source)at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106)at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256)at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:132)at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65)at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:334)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:774)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:305)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5066)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 6 more Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Logat org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1332)at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1166)... 20 more觀察日志可以看出,是由于缺少了 common-logging 和 log4j的包
訪問spring工程報404
訪問地址: http://localhost:8080/SpringMVC/hello 報404 是由于在servers視圖,沒有勾選 “server options” 下的 “publish module contexts to separate XML files”,并保存。
解決辦法:勾選“publish module contexts to separate XML files”
轉載于:https://my.oschina.net/u/583362/blog/523367
總結
以上是生活随笔為你收集整理的SpringMVC Hello World 实例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 优化SQL查询:如何写出高性能SQL语句
- 下一篇: NodeJS 安装