當前位置:首頁 » 密碼管理 » struts2的訪問路徑

struts2的訪問路徑

發布時間: 2022-08-04 04:59:50

① struts2的訪問路徑

<package name="abc" namespace="/s" extends="struts-default">
<action name="hello" class="action.UserAction">
<result name="yes">/s/success</result> //把/s/去掉,直接寫success
</action>
</package>

② struts2 如何在action中取得頁面的URL地址

通過request.getRequestURI()方法可以取得當前頁的請求路徑,你可以在連接地址中加入這樣一個參數,取得當前所在頁的訪問路徑,再在Action中接收,並進行處理。
英語

Action中接收這個urlpath,再進行
字元串操作
,截取出你需要的內容,設置到r里就可以了。

③ Struts2訪問請求路徑問題: 比如:httt://localhost:8080/demo/zhangsan demo:是tomcat虛擬目錄名稱

官網提供的中文版的《深入淺出Struts2》(Ian Roughley 著,李劍 譯)裡面的「提高效率技巧」章節的「在配置中使用模式匹配調配符」小節中有介紹,先自己看看吧!想傳遞參數(比如」zhangsan「)到Action的屬性中試試在<action>標簽內用<param>標簽。另外,struts2的網址後綴(比如「.action」)可以在struts.properties里用「struts.action.extension=XXX"改。

還可以自己寫URI映射方法,即實現ActionMapper,如果你真的有耐心的話。

④ 訪問Struts2的Action路徑問題

一般來說,只要web.xml中配置正確的映射路徑,struts.xml能夠實例化action就不會出現404錯誤,可能是web.xml中的filter-mapping出現問題

<filter>
<filter-name>action</filter-name>
<filter- class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>action</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

你把<url-pattern>/*</url-pattern>的內容改動後調試看看,good luck!
----------------------------
Struts2的路徑和struts1的一致,/ 表示web應用更目錄(就是GraPro目錄),在struts2中FilterDispatcher就是根據你在web.xml filter-mapping中配置的路徑去映射你的請求路徑(/news.action),
如果匹配,就載入struts.xml中定義的actionMapping,然後轉交action處理請求

你可以參考:http://www.blogjava.net/max/archive/2006/10/10/74353.html的說明吧

---------------------
因為response.sendRedirct("news.action")是採用瀏覽器重新定位的方法去請求的,相當於你在地址欄直接輸http://localhost:8080/GraPro/news.action
而jsp:forward 是將request和response作為參數傳遞請求,它會讀取web根目錄+action path 作為請求URL

⑤ struts2中怎麼獲取url啊,請求的地址

我當初在利用Struts2實現電子商務購物系統的時候,也遇到這個問題,想記錄用戶之前訪問的URL,包括點擊的所有參數信息,後面給我解決了。我是利用攔截器去做的,然後把用戶的URL存到Session當中。這是我的源碼,你可以按照這個思路去做,應該沒有問題的,我的項目已經驗收通過了。希望能夠幫到你,謝謝
/**
* 方便用戶返回上一個瀏覽界面
*/
import javax.servlet.http.HttpServletRequest;

import org.apache.log4j.Logger;
import org.apache.struts2.ServletActionContext;

import leo.sd1006.gz.tarena.dang.global.GlobalField;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionInvocation;
import com.opensymphony.xwork2.interceptor.MethodFilterInterceptor;

public class PreviousPathInterceptor extends MethodFilterInterceptor{

private static final long serialVersionUID = 6677300287776159679L;
private Logger logger=Logger.getLogger(CheckLoginInterceptor.class);

@Override
protected String doIntercept(ActionInvocation invocation)
throws Exception {
//設置用戶當前訪問的界面,方便用戶登錄後直接跳轉到前一個頁面
HttpServletRequest request=ServletActionContext.getRequest();
String path=request.getRequestURI();
String actionPath=".."+path.substring(9);
//訪問伺服器所帶有的參數信息
String queryInfo=request.getQueryString();
if(queryInfo!=null&&(!queryInfo.equals(""))){
actionPath=actionPath+"?"+queryInfo;
}
logger.debug("用戶訪問的路徑是:"+actionPath);
ActionContext.getContext().getSession().put(GlobalField.PRE_PATH, actionPath);
return invocation.invoke();
}

}

⑥ struts2訪問路徑

filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

你所有的請求都讓struts2攔截了,當然不行
你的hello.jsp是一個jsp

訪問:http://localhost/struts2/hello 相當於訪問 hello這個action,但實際上你並沒有

所以把
filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

/* 改為*.action 就行了

⑦ 菜鳥求教:servlet和struts的訪問路徑問題。

servlet的url是在web.xml配置的,舉個簡單的例子好了
<servlet>
<servlet-name>login</servlet-name>
<servlet-class>test.TestServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>login</servlet-name>
<url-pattern>/login</url-pattern>
</servlet-mapping>

其中的<url-pattern>/login</url-pattern>就是你要輸入的/login 也就是http://localhost:8080/login
如果你配置成<url-pattern>/login.do</url-pattern>那麼地址就是 http://localhost:8080/login.do
如果你配置成<url-pattern>/login.html</url-pattern>那麼地址就是 http://localhost:8080/login.html
如果你配置成<url-pattern>/test/login.do</url-pattern>那麼地址就是 http://localhost:8080/test/login.do
舉了這么多例子 我想你也明白了,原理呢就是通過url-pattern找到servlet-name,再找到對應的servlet,進入到方法中處理

訪問action卻必須是/text/doaction.do呢?我想你說的應該是struts1吧,看看struts1的配置文件
<action-mappings>
<action path="/login"
name="userForm"
type="com.test.struts.LoginAction">
<forward name="success" path="/success.jsp"></forward>
<forward name="error" path="/error.jsp"></forward>
</action>
</action-mappings>

path就是你配置的url,當然還有web.xml中的配置
<servlet-name>action</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<url-pattern>*.do</url-pattern>表示過濾的都是以.do結尾的請求,所以加上struts1的配置文件配置的url那麼就是login.do了,那麼地址就是http://localhost:8080/項目名稱/login.do;建議你去看看struts1的工作原理,當然目前公司大部分都是用struts2了,建議學好struts2。
<html:base/> 指定一個顯式 URL 用於解析對於外部源的鏈接和引用,如圖像和樣式表。當使用時,base 元素必須出現在文檔的 head 內,在任何用於引用外部資源的元素之前。例如:
<HEAD>
<BASE HREF="http://msdn.microsoft.com/workshop/author/dhtml/reference/"/>
</HEAD>

過濾器難學嗎?還有hibernate比struts難多少呢?我是小菜 求知識。
struts2的核心就是過濾器,過濾器不難學的,我建議你先看原理,然後練習幾個例子,你就明白了,Hibernate是JDBC的輕量級的對象封裝,並不像你說的那麼困難,怎麼說了,全靠你個人的練習,實踐,寫得多了也就會了。
祝你成功!

⑧ Struts2的訪問路徑和servlet的訪問路徑怎麼區分啊。

看你當初web.xml裡面的struts2過濾器配置的路徑啊,如果路徑把你這個包含進去了,那麼你訪問的一定是struts2的頁面
否則就是servlet,當然你也可以實現再加一個過濾器跳過struts過濾器直接訪問servlet

⑨ myeclipse 中的一個項目,ssh結構,struts2中如何根據訪問路徑找到執行的文件,到處都是訪問路徑

火狐當然不可以,struts是在伺服器端的!首先你要了解struts的訪問機制:拿頁面表單提交來說吧!首先當用戶點擊提交按鈕後,瀏覽器根據action中的值訪問伺服器端的struts.xml配置文件,找到action標簽中name等於這個url的標簽,根據此標簽定義的class去java的web層,也就是繼承actionsupport的struts控制器,找到對象的class中對應的method,經過一系列業務邏輯處理,最後此方法return一個字元串,最後struts去struts.xml中回到剛才那個action標簽,找到result中name等於一個字元串中定義的jsp頁面,最後客戶端瀏覽器跳到這個頁面!這是struts訪問的一個最基本的業務流程。雖然寫法不一,但是萬變不離其宗,流程是一樣的!如果你真想跟蹤,那隻能拿到源代碼用eclipse一步步debug!!!

⑩ 求解、struts2的訪問路徑的問題!

同一個package.你就對應一個action..弄這么多package幹嘛.
另外你的2個action的配置都是沒有method屬性.那麼就會去Action裡面找execute()方法.

熱點內容
液鹼存儲 發布:2024-05-03 13:21:13 瀏覽:156
linux如何改配置文件 發布:2024-05-03 13:00:54 瀏覽:31
哪個安卓模擬器老爺機帶得動 發布:2024-05-03 13:00:49 瀏覽:576
編程與實戰 發布:2024-05-03 12:54:30 瀏覽:38
電腦開機有密碼rpc伺服器不可用 發布:2024-05-03 12:40:54 瀏覽:471
硬體的演算法 發布:2024-05-03 12:34:28 瀏覽:388
支付密碼為什麼就六位 發布:2024-05-03 12:29:17 瀏覽:920
腳本找書 發布:2024-05-03 12:02:17 瀏覽:493
境外伺服器租用怎麼辦 發布:2024-05-03 11:45:34 瀏覽:943
我的世界伺服器怎麼設置到重生點 發布:2024-05-03 11:33:04 瀏覽:752