亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Struts2沒有為與上下文路徑[/ Struts2Test]關聯的名稱空間[/]和操作名稱映射

Struts2沒有為與上下文路徑[/ Struts2Test]關聯的名稱空間[/]和操作名稱映射

開心每一天1111 2019-11-04 10:36:16
我是Struts2的初學者,我知道這里經常問這個問題,但是我試圖解決這個問題并在這里閱讀了很多線程,花了6個小時仍然無法正常工作。確實需要更多建議...這是我的包裹Struts2Test  +Struts2Test/src    +tw.com.rrstudio.java.test      -TestAction.java  +Struts2Test/build  +Struts2Test/WebContent    +Struts2Test/WebContent/META-INF      +Struts2Test/WebContent/WEB-INF/classes      +Struts2Test/WebContent/WEB-INF/lib      -Struts2Test/WebContent/WEB-INF/spring-context.xml      -Struts2Test/WebContent/WEB-INF/spring-mvc.xml      -Struts2Test/WebContent/WEB-INF/struts.xml      -Struts2Test/WebContent/WEB-INF/struts2-action.xml      -Struts2Test/WebContent/WEB-INF/web.xml    -Struts2Test/WebContent/error.jsp    -Struts2Test/WebContent/index.jsp    -Struts2Test/WebContent/TestAction.jsp我的web.xml<?xml version="1.0" encoding="UTF-8"?><web-app xmlns="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.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">  <display-name>Struts2Test</display-name>  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>  <context-param>    <param-name>contextConfigLocation</param-name>    <param-value>      /WEB-INF/spring-context.xml      /WEB-INF/spring-mvc.xml    </param-value>  </context-param>  <listener>    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>  </listener>  <filter>    <filter-name>struts2</filter-name>    <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>    <init-param>      <param-name>actionPackages</param-name>      <param-value>tw.com.rrstudio.java.test</param-value>    </init-param>  </filter>服務器是Tomcat 8.0.38,啟動時沒有錯誤。但是當我訪問http://127.0.0.1:8080/Struts2Test/http://127.0.0.1:8080/Struts2Test/登錄它給了我這個(作為標題)錯誤,如果我訪問http://127.0.0.1:8080/Struts2Test/index.jsp我會得到常規的404結果?,F在我不知道,歡迎任何建議或提示...
查看完整描述

3 回答

?
蝴蝶刀刀

TA貢獻1801條經驗 獲得超8個贊

與以下問題有關的問題:沒有為與上下文路徑關聯的名稱空間和操作名稱映射任何操作

如果使用url調用動作,請確保此url映射到struts配置。要解決網址映射問題,可以使用config-browser插件。只需將此插件添加到您的項目依賴項中,并在部署它后,就可以訪問一個顯示運行時配置的網站,并提供可用的URL來調用該操作。例如,如果您在本地8080端口上運行Tomcat,并在上部署了應用程序context,則可以使用以下命令訪問插件的url


http://localhost:8080/[context]/config-browser/index.action

您可以在側邊欄名稱空間下的操作頁面上單擊任何可用的操作。另請注意,如果在包裝上找不到您的操作,則可能在default包裝中。Struts在default名稱空間中進行其他搜索,以查找不在URL映射的名稱空間中的操作。


查看config-browser插件以調試配置問題。


要將URL正確映射到操作,需要兩個參數:操作名稱和名稱空間。


Struts在啟動時會加載xml配置,并且應該知道的位置struts.xml。默認情況下,它會在classpath上查找具有類似的已知名稱的文件struts.xml。然后,它解析文檔并創建運行時配置。這種配置用于查找操作URL適當的配置元素。如果在請求期間未找到此類元素,則返回404錯誤代碼,并顯示以下消息:There is no Action mapped for namespace and action

  name。


此外,此消息還包含用于查找操作配置的名稱空間和操作名稱。然后,您可以檢查您的配置設置 struts.xml。有時動作名稱和命名空間,存儲在 ActionMapping指向錯誤的行動。這些值ActionMapper由插件所使用的實現方式可能有所不同。


還有另一個設置可能會影響此映射器和映射,但是要點是相同的,如果您收到此消息,則使用URL不會在運行時配置中映射任何操作配置。如果您不知道應該使用哪個URL,則可以嘗試使用 config-browser插件查看可用的URL列表。


查看完整回答
反對 回復 2019-11-04
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

檢查struts.xml中是否存在常量struts.action.excludePattern,并且是否存在用于登錄的條目。就我而言,這是造成問題的原因。如果您要在基于struts2的應用程序中進行servlet調用,則此方法適用


查看完整回答
反對 回復 2019-11-04
  • 3 回答
  • 0 關注
  • 1442 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號