溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Tomcat項目中出現(xiàn)404如何解決

發(fā)布時間:2020-11-07 16:38:02 來源:億速云 閱讀:319 作者:Leah 欄目:開發(fā)技術(shù)

Tomcat項目中出現(xiàn)404如何解決?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

Tomcat測試出現(xiàn)404問題出現(xiàn)的問題如下:

HTTP狀態(tài) 404 - 未找到
類型 狀態(tài)報告
消息 請求的資源[/chapter06/IndexServlet]不可用
描述 源服務(wù)器未能找到目標(biāo)資源的表示或者是不愿公開一個已經(jīng)存在的資源表示。
Apache Tomcat/9.0.37

Tomcat項目中出現(xiàn)404如何解決

問題原因,瀏覽器不能直接訪問Java文件

問題的解決方法

1、提交表單時遇到此問題

<form name = "reg" action="/login" method="post">
 <meta charset="UTF-8">
 賬號:<input type="text" name="username"/><br>
 密碼:<input type="password" name="passward"/><br>
 <input type="submit" value="提交" id="bt">
</form>

其中的<form name = "reg" action="/login" method="post">action=" "里面引用的必須為路由地址(這個路由地址需要自己配置的(如:我自己配置的負(fù)責(zé)接收表單的Java類中的路由為 /login,而不是自身的Java類的訪問路徑 /chapter06/src/LoginServlet)
對Java文件配置路由方式在下面:

2、訪問src路徑里的Java文件報錯

需要對目標(biāo)Java文件配置路由,具體配置有兩種方式:(這里只是簡述如果想了解更詳細(xì)內(nèi)容點(diǎn)擊這里)

(1):基于注解的方式配置

只適用于Tomcat3以上版本(好像是3,記不清了)
在Java類里添加

package cn.itcast.chapter06.session.example;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebServlet("/logout")   //這里就是路由的配置

public class LogoutServlet extends HttpServlet {
 @Override
 public void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  req.getSession().removeAttribute("user");
  resp.sendRedirect("/wel");
 }

 @Override
 public void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
  doGet(req, resp);
 }
}

**@WebServlet("/logout") //這里就是路由的配置,此方法也是最常用的方法。**引號里面就是路由

(2)基于xml文件配置方式

點(diǎn)擊打開web.xml文件,然后對web.xml代碼進(jìn)行更改,在< /app >前面添加映射

<servlet> 
	 <servlet-name>hello</servlet-name> 
	 <servlet-class>com.southwind.servlet.HelloServlet</servlet-class>
 </servlet>
<servlet-mapping> 
	<servlet-name>hello</servlet-name> 
	<url-pattern>/demo2</url-pattern> 
</servlet-mapping>

將demo2和hello進(jìn)行映射 在瀏覽器直接訪問demo2就可以映射HelloServlet

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注億速云行業(yè)資訊頻道,感謝您對億速云的支持。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI