服务器 
首页 > 服务器 > 浏览文章

详解Tomcat出现404的解决方法

(编辑:jimmy 日期: 2024/11/19 浏览:3 次 )

Tomcat测试出现404问题出现的问题如下:

HTTP状态 404 - 未找到
类型 状态报告
消息 请求的资源[/chapter06/IndexServlet]不可用
描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
Apache Tomcat/9.0.37

详解Tomcat出现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=" "里面引用的必须为路由地址(这个路由地址需要自己配置的(如:我自己配置的负责接收表单的Java类中的路由为 /login,而不是自身的Java类的访问路径 /chapter06/src/LoginServlet)
对Java文件配置路由方式在下面:

2、访问src路径里的Java文件报错

需要对目标Java文件配置路由,具体配置有两种方式:(这里只是简述如果想了解更详细内容点击这里)

(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文件配置方式

点击打开web.xml文件,然后对web.xml代码进行更改,在< /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进行映射 在浏览器直接访问demo2就可以映射HelloServlet

上一篇:Tomcat的卸载和重装的实现(图文)
下一篇:一行代码教你如何隐藏Linux进程
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?