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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

手动创建1个基于xml配置的springmvc 项目(without Maven)

發布時間:2025/3/20 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 手动创建1个基于xml配置的springmvc 项目(without Maven) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

當然, 今時今日使用maven 和 springboot 去創建1個java web project會更加方便。

但是手動搭建1個會加深我對springmvc的理解。

Step1 打開eclipse 創建1個新的Dynamic web project


Step2 往project內的 WEB-INF/lib folder導入下列spring 的jar包

大部分都能在 .m2 里的repository folder找到, 如果沒有可以利用別的maven project下載。

commons-logging-1.1.1.jarspring-aop-4.1.4.RELEASE.jarspring-aspects-4.1.4.RELEASE.jarspring-beans-4.1.4.RELEASE.jarspring-context-4.1.4.RELEASE.jarspring-core-4.1.4.RELEASE.jarspring-expression-4.1.4.RELEASE.jarspring-tx-4.1.4.RELEASE.jarspring-web-4.1.4.RELEASE.jarspring-webmvc-4.1.4.RELEASE.jar

Step3 初步編寫web.xml 文件

在WEB-INF 文件夾創建1個web.xml 文件

<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xlns="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.sum.com/xml/ns/javaee/web-app_3_0.xsd"><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- auto start --><load-on-startup>1</load-on-startup></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping> </web-app>

Step4 啟動項目(with eclipse defined tomcat runtime)


Tomcat 會報錯, 找不到 WEB-INF 下的springmvc-servlet.xml
說明spring DispatcherServlet會默認在那里尋找servlet 配置文件。

Step5 修改spring 配置文件位置

在上面的web.xml 中, 為servlet springmvc 添加1個參數contextConfigLocation, 值我們寫上classpath:springmvc.xml

<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xlns="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.sum.com/xml/ns/javaee/web-app_3_0.xsd"><servlet><servlet-name>springmvc</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><!-- auto start --><load-on-startup>1</load-on-startup><!-- modify spring configuration file path and file name --><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:springmvc.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>springmvc</servlet-name><url-pattern>/</url-pattern></servlet-mapping> </web-app>

在src文件夾下添加springmvc.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"xmlns:tx="http://www.springframework.org/schema/tx"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.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"></beans>

重新啟動項目, tomcat 的錯誤就消失了

到這步為止, 我們已經初步實現了springmvc 四大組件中的中央調度器 DispatcherServlet.
下面我們來實現第二個組件Handler Mapping

Step6 添加1個HandlerMapping 和1個Contoller類

在src目錄下添加1個DemoController 類:

package com.home.controller;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller;public class DemoController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse res) throws Exception {// TODO Auto-generated method stubSystem.out.println("executed Demo controller!");return null;}}

在springmvc.xml中 導入 上面直接換個bean 以及新建1個SimpleHandlerMapping 的bean

<?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"xmlns:tx="http://www.springframework.org/schema/tx"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.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd"><bean id ="democontroller1" class="com.home.controller.DemoController"></bean><bean id = "" class= "org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"><property name="urlMap"><map><!-- key means the logic name of controller --><entry key="demo" value-ref="democontroller1"></entry></map></property></bean> </beans>

啟動項目,在瀏覽器輸入 http://localhost:8080/springmvc_manual/demo

可以見到DemoController被成功調用并執行

到這里為止, 我們實現了springmvc 中的第二個組件HandlerMapping.

還有另兩個組件 HandlerAdapter 和ViewResovler , 我們并沒有配入配置文件中。
其實spring 4 已經幫我們配了默認值, 但是這次我仍然想把他們也配置了。

Step7 添加1個HandlerAdapter

在springmvc.xml中添加

<bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"></bean>

重啟項目, 刷新頁面, DemoController仍然可以被調用

Step8 令DemoController 返回1個jsp頁面

在WebContent下建立1個jsp文件夾, 里面創建1個demo1.jsp

修改DemoController, 另它return new ModelAndView(jsp/demo1.jsp)

package com.home.controller;import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.Controller;public class DemoController implements Controller {@Overridepublic ModelAndView handleRequest(HttpServletRequest req,HttpServletResponse res) throws Exception {// TODO Auto-generated method stubSystem.out.println("executed Demo controller!");return new ModelAndView("jsp/demo1.jsp");}}

重啟項目, 效果:

其實這里Spring也幫我們使用了默認的ViewSolver, 同樣地,下面我也會進行手動配置。

Step8 添加ViewResolver

在springmvc.xml中, 添加

<!-- InternalResoucesViewReslover --><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/WEB-INF/jsp/"></property><property name="suffix" value=".jsp"/></bean>

prefix 和 suffix表示會在ModelAndView的值前后加上的額為值。

上面的寫法就代表spring會在/WEB-INF/jsp 里尋找jsp文件

當然, 要在WEB-INF 創建jsp文件和1個demo1.jsp文件, 里面的內容改改

修改DemoController ModelAndView的值
只寫demo1

重啟項目, 刷新:

總結

以上是生活随笔為你收集整理的手动创建1个基于xml配置的springmvc 项目(without Maven)的全部內容,希望文章能夠幫你解決所遇到的問題。

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