多個請求使用同乙個Servlet

2021-07-25 10:12:40 字數 972 閱讀 9919

如果jsp中乙個請求對應乙個servlet那要建很多servlet,**冗餘較多。

我們可以把乙個模組的請求封裝在乙個servlet,實現功能的模組化,從而簡化**。

其實這種方式有點類似於struts中的action。

新建jsp檔案

輸入如下**,分別是3個請求,請求同乙個servlet,但是後邊跟的引數method不同

新建servlet

**如下,重點看紅框標記的**

因為增刪改查的操作既有doget 又有dopost,為了簡化**,我們在doget方法中統一呼叫dopost的方法

在dopost中通過獲取method引數的不同,呼叫不同的方法,從而區別出不同的請求,達到多個請求訪問乙個servlet的目的

執行jsp頁面

訪問add

訪問query

訪問delete

注意上邊的操作,訪問的都是customerservlet 無非後邊的method不同,而訪問不同的方法。

如果新增了update 方法就在servlet中新增**即可。

通常情況下我們可以這麼使用。

但**還有兩個小缺點

1>當新增乙個請求時,需要在servlet中修改兩處**。2>url中使用method=***暴露了要呼叫的方法,不私密,有安全隱患

解決方法如下:

難點是對於反射的理解。

jsp頁面**,修改三個請求鏈結分別為

add.do,query.do,delete.do

修改web.xml檔案中的url-pattern 為*.do, 如此配置的話所有帶有.do的訪問連線都走這個servlet

修改dopost方法,注意反射的**

訪問jsp

訪問add

但是如果我訪問乙個不存在的連線例如:abc.do,會出現異常,這是由於反射中沒有找到abc.do對應的方法

我們在servlet中反射異常**中修改如下,讓它跳轉到乙個error.jsp

同乙個Tomcat部署多個專案

一 同一tomcat 多個埠部署不同的專案 在tomcat 安裝目錄下c program files apache tomcat 6.0.29 conf找到server.xml 1 在結點後面增加結點,如下 好處 可以把多個專案部署在根目錄 二 tomcat 部置方式 tomcat部署專案有3種方法...

同乙個頁面多個div,ajax呼叫

最近在做專案的時候發現兩個問題,第乙個問題是在主頁面有多個div,在div裡面有input元素的onclick事件,在第一次開啟div的時候通過onclick呼叫ajax可以被執行,當關掉開啟的div重新再開啟的時候onclick事件不生效。第二個問題是兩個div呼叫ajax時會相互影響,當開啟第乙...

同乙個Tomcat部署多個專案

第二步 修改 tomcat home conf 下的server.xml檔案 在server.xml檔案中新增節點,乙個節點代表乙個web應用 第三步 複製 tomcat home confi目錄下的catalina生成副本 並命名為catalina1 第四步 測試 1.執行bin startup....