1. 程式人生 > >HTTP Status 404 - /servlet/Item/AddItemServlet

HTTP Status 404 - /servlet/Item/AddItemServlet

fontsize web pow 由於 系統 java bmi 常熟 路徑問題

我想學習編程的人對404和500都是非常敏感非常熟悉的。在做DRP系統的時候多次遇到這兩個錯誤,今天讓我遇到他並且讓我銘記他,那就是一個“/”:

技術分享圖片

這是說jsp出問題了,並且找不到,學過java的同學都知道servlet/item是我建立servlet後的一個虛擬文件夾。配置文件都這麽寫:

        <servlet>
		<servlet-name>AddItemServlet</servlet-name>
		<servlet-class>com.bjpowernode.drp.basedata.web.AddItemServlet</servlet-class>
	</servlet>
	
	<servlet-mapping>
		<servlet-name>AddItemServlet</servlet-name>
		<url-pattern>/servlet/item/AddItemServlet</url-pattern>
	</servlet-mapping>
上面的配置文件是沒有問題的,以下是我的jsp中比較關鍵也比較easy出錯,而我又出了錯的地方:路徑問題

<body class="body1">
		<form name="itemForm"  id="itemForm" action="<span style="background-color: rgb(255, 0, 0);">/servlet/item/AddItemServlet</span>" method="post" onsubmit="return validateForm(this)">
		
這個加紅的地方看上去是沒有問題,就是請求servlet,可是當我點擊button要跳轉時,卻報錯了,這就是加“/”與不加/”的差別,由於我在jsp中增加了basePath(推薦博客),也就是web全路徑:

<%
	String path = request.getContextPath();
	String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
path-------------------------------------------------------/servlet/Item/AddItemServlet

basePath---http+://+localhost+:+8181+/servlet/Item/AddItemServlet+/ (http://localhost:8181/servlet/Item/AddItemServlet)

而我在代碼中又加了“/”這樣之後,地址就變成http://localhost:8181//servlet/Item/AddItemServlet

所以大家能夠看出一個“/”我們也不容忽視,這也成為我以後遇到問題的一個經驗。分享了~~

HTTP Status 404 - /servlet/Item/AddItemServlet