struts2和servlet的共存問題

2021-07-25 21:08:13 字數 956 閱讀 6364

先看一下struts2 的web.xml檔案:

struts2

org.apache.struts2.dispatcher.filterdispatcher

struts2

在請求應用時,struts2將會截獲所有請求,對於servlet請求將不能夠正常相應,是struts2把servlet當成action了,因為servlet和action都是沒有字尾的

解決方法目前有四種:

方法1:統一在servlet後面加上.servlet(包括web.xml配置檔案中和頁面上使用servlet的地方)

方法2:繼承strutsprepareandexecutefilter,實現以下兩個方法。

public void init(filterconfig filterconfig) throws servletexception

public void dofilter(servletrequest request, servletresponse response,

filterchain chain) throws ioexception, servletexception

super.dofilter(request, response, chain); }

方法3:修改攔截頁面配置

原: struts2

org.apache.struts2.dispatcher.filterdispatcher

struts2

/* 現:

struts2

*.action

struts2

*.jsp

struts2

/user/*

servlet的請求路徑不必改變

方法4:在struts.xml檔案中修改

ion.extension" value="action">……

當然第四種方法最為簡單,個人就只是試了第1種

struts2和servlet的區別

1.struts2是基於對servlet的封裝。2.struts2開發效率更高,更簡潔。3.struts2能夠通過預設的 自動獲取請求引數,而且能夠自動轉換成對應的資料型別。前提要求是在對應的action類中 定義對應的屬性 而且屬性名要與對應的請求引數的key保持一致,並提供set,get方法。主...

Struts2 獲得Servlet 物件

author liuqing datetime 2010 1 3 1.獲得httpservletrequest 物件 getcontext get org.apache.struts2.strutsstatics.http response 2.獲得httpservletresponse物件 get...

Struts2與Servlet的關係

可以說struts2本質還是乙個servlet 在s1中用於整體控制的是乙個servlet s2中是乙個filter,其實也可把它看作是servlet 只是對servlet進一步的封裝罷了 打個比方 做web專案,好比建房子。servlet好比木材,用一根根的木材搭,也可蓋起房子,只是速度慢而已 而...