服务器之家:专注于服务器技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - Tomcat - 详解Tomcat出现404的解决方法

详解Tomcat出现404的解决方法

2021-09-15 17:04啊~小 l i Tomcat

这篇文章主要介绍了详解Tomcat出现404的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

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

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

详解Tomcat出现404的解决方法

问题原因,浏览器不能直接访问java文件

问题的解决方法

1、提交表单时遇到此问题

?
1
2
3
4
5
6
<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类里添加

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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 >前面添加映射

?
1
2
3
4
5
6
7
8
<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出现404的解决方法的文章就介绍到这了,更多相关tomcat出现404内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/xiao_yan_/article/details/107785526

延伸 · 阅读

精彩推荐