温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Tomcat项目中出现404如何解决

发布时间:2020-11-07 16:38:02 来源:亿速云 阅读:313 作者:Leah 栏目:开发技术

Tomcat项目中出现404如何解决?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

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

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注亿速云行业资讯频道,感谢您对亿速云的支持。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI