ssh框架中,ajax無法呼叫servlet的一種原因:web.xml中servlet與struts的衝突。
在進行一個ssh專案開發的過程中,在使用ajax+servlet做聯想輸入時出現了一個問題,功能總是無法實現,在測試之後發現問題處在ajax完全沒有呼叫servlet!
於是便開始找錯,新建了一個web project將相應的jsp和servlet檔案copy到新建的web project後,竟然完美執行,在查看了兩個專案的區別,突然驚覺,這兩個web project最大的區別就在於舊的project的web.xml中有struts和servlet,而新的project的web.xml只有servlet。問題已經浮出水面,ajax無法呼叫servlet的問題就在於web.xml中servlet與struts的衝突。
深入研究後發現,在請求服務時,strusts2會截獲的所有的請求,因為因為action和servlet都沒有任何的字尾名,所以struts2把servlet當成了一個action,將action和servlet的請求都截獲,導致servlet不能正常的響應。
找到根本問題後,我們的解決方法也十分的清晰,只要我們能讓servlet和struts互相不打擾對方就可以。
總共有四種方法可以,因為這個問題解決的方法十分常見,本人就不一一列舉了,本人只列舉自己使用的方法。
我是在在所有的servlet中都加上.servlet而其他的不需要改變,快捷方便。
這是改正前的:
<servlet-mapping> <servlet-name>ScoreDetails</servlet-name> <url-pattern>/ScoreDetails</url-pattern> </servlet-mapping>
這是改正後的:
<servlet-mapping>
<servlet-name>ScoreDetails</servlet-name>
<url-pattern>/ScoreDetails.servlet</url-pattern>
</servlet-mapping>
同ajax中的url也需要更改。
這是改前的:
$.ajax({ url:"ScoreDetails", type:"post", data:{"uname":uname},
這是改正後的:
$.ajax({
url:"ScoreDetails.servlet",
type:"post",
data:{"uname":uname},
隨後重新進行測試,發現問題已經解決,ajax已經可以正常呼叫servlet了。
本人本科軟體工程學生黨一枚,如有錯誤歡迎指正,歡迎交流。
相關推薦
ssh框架中,ajax無法呼叫servlet的一種原因:web.xml中servlet與struts的衝突。
在進行一個ssh專案開發的過程中,在使用ajax+servlet做聯想輸入時出現了一個問題,功能總是無法實現,在測試之後發現問題處在ajax完全沒有呼叫servlet!於是便開始找錯,新建了一個web
資料倉庫中,緩慢變化維的一種設計方案
資料倉庫中,緩慢漸變維度是一種經常使用到的方案。 “漸變”,即為逐漸變化的維度,因為日常應用中,維度屬性是隨時可能發生變化的,而BI統計時,又可能是需要歷史某個時間點的維度屬性值。所以這種情況下,就需要我們記錄下這個變化資訊,於是漸變維度就出現了。 “緩慢”兩個字,也是需要
tomcat啟動成功,訪問主頁失敗的一種原因
如果在 網上搜一圈“tomcat啟動成功,當輸入http://localhost:8080報404錯誤”。有說檢視日誌定位問題的,有說檢查埠有沒有衝突,建議去serve
SSM框架中,ajax和相應controller的寫法
頁面上: $.ajax({ //幾個引數需要注意一下 type: "POST",//方法型別
關於form表單中使用ajax提交表單,ajax無法success的問題
問題背景:我的畢業設計是重構自己以前寫過的一個小網站,之前寫的時候沒有用任何框架,前後臺互動資料靠el表示式、form表單。在完成畢業設計時使用SpringMVC+Spring+MyBatis+JQuery,統一使用ajax來互動資料。 問題再現: html關鍵程式碼<
解決方式-在Mac系統中,Eclipse無法導入含有中文路徑的project
導入 pan support cati 一行 oct tracking -a ctype 1、改動eclipse.app/Contents/Info.plist。查找 <key>CFBundleExecutable<key>在其上方加入下面
servlet無法自動在web.xml中配置
bubuko mage wid 選擇 project http info 無法 無法自動 在新建dynamic web project 時,dynamic web module version選擇2.5。 servlet無法自動在web.xml中配置
在同一個類中,一個方法呼叫另外一個有註解(比如@Async,@Transational)的方法,註解失效的原因和解決方法
在同一個類中,一個方法呼叫另外一個有註解(比如@Async,@Transational)的方法,註解是不會生效的。 比如,下面程式碼例子中,有兩方法,一個有@Transational註解,一個沒有。如果呼叫了有註解的addPerson()方法,會啟動一個Transaction;如果呼叫updatePerso
C#(Winform) 當前執行緒不在單執行緒單元中,因此無法例項化 ActiveX 控制元件
解決方案: 1、在主執行緒中例項化此ActiveX控制元件 2、將建立此Active控制元件的執行緒設定為單執行緒。 Thread.ApartmentState 獲取或設定此執行緒的單元狀態。 newThread= new Thre
web.xml中的配置,servlet,filter,listener的作用和原理
首先介紹servlet,filter和listen的原理: servlet可以說是動態頁面的基石,現在很多開發都是基於spring等各種框架,所以對servlet的瞭解可能少點,下面先用簡單的例子,說明下servlet的作用 MyFirstServlet.java class MyF
在web.xml中配置servlet的URL對映後,瀏覽器訪問出錯
在一些servlet教程中,給出的servlet的URL對映配置方式是,在web.xml中新增servlet元素和servlet-mapping元素: <servlet> <servlet-name>ServletDemo01&l
在前後端分離的專案中,ajax跨域請求怎樣附帶cookie
在專案的實際開發中,我們總會遇到前後端分離的專案,在這樣的專案中,跨域是第一個要解決的問題,除此之外,儲存使用者資訊也是很重要的,然而,在後臺儲存使用者資訊通常使用的session和cookie結合的方法,而在前端的實際情況中,跨域產生的ajax是無法攜帶cookie資訊的,
在wmware esxi 虛擬機器 中 ,centos7 無法訪問外網 問題的解決
在虛擬機器的centos7 系統中,使用yum 下載安裝svn,一直失敗。 錯誤提示資訊為 Cannot find a valid baseurl for repo: updates/7/x86_64 按照這個錯誤提示資訊,在網路上搜索相關解決方案,全部無效! 修改
eclipse中,專案無法在tomcat中釋出(project facet java version 1.7 is not supported)
在tomcat中釋出專案時無法新增專案,錯誤資訊:project facet java version 1.7 is not supported,如下圖 這是由於你的tomcat的jdk版本低於你專案的jdk版本導致的。 解決方案有2個:修改你的tomca
SSH框架整合的時候 在web.xml中需配置的spring資訊與struts2的配置資訊
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com
ssm框架中,需要引入的jar包、Maven的pom.xml
工欲善其事,必先利其器。開發之初或者開發過程中按需求引入必要jar包,在pom.xml檔案中寫入的<dependency>標籤在這裡:https://mvnrepository.com/artifact/org.springframework/spring-test/4.3.7.RELE
關於使用ssh框架時,pojo、dao、service三層的關係 .
文章來源於網路,僅用於學習: DAO是底層與資料庫直接互動的部分,serivce是又對DAO進行了一次封裝。而service是暴露給action的部分。aciton裡面呼叫service,service呼叫DAO。 1,dao和service對應 一般
安卓 自定義 日期和時間選擇器,在一個佈局中,可以直接呼叫
廢話不多說先看效果,效果不符合,就不要用看了。 安卓提供自己的日期選擇和時間選擇,但是樣式並不是自己想要的,如果非要把他們放在一起,會發現,樣式不好看,而且時間和日期選擇控制元件的大小不好控制,甚至根本沒法放在一行上,所以實現自定義日期時間選擇器有兩種方式 1.自己寫自定
MyEclipse上快速SSH框架搭建,由資料庫表生成類
struts2、spring4、hibernate5三大框架整合,資料庫使用的是MySql資料庫 資料庫部分,我使用的是Navicat for MySQL先把資料庫,以及表都建好了,如圖 然後可以開始搭建SSH框架 首先新建一個web工程專案,這邊我已經先建好了 然後右擊專案名稱
vue專案中,圖片無法顯示時,顯示預設圖片,但預設圖片路徑出錯
設定img的onerror,不能正常顯示圖片,路徑不對解決方法 <img :src="img.url" alt="圖片" width="100%" :onerror="defaultImg"/> export default { name: "pass-co