Tomcat出现404的解决方法[类型 状态报告 消息 请求的资源[/chapter06/src/LoginServlet]不可用 描述 源服务器未能找到目标资源的表示或者是不愿公开一个已]
2020-08-04 14:44
8477 查看
Tomcat测试出现404问题
出现的问题如下:
HTTP状态 404 - 未找到
类型 状态报告
消息 请求的资源[/chapter06/IndexServlet]不可用
描述 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
Apache Tomcat/9.0.37
问题原因,浏览器不能直接访问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
相关文章推荐
- 解决docker启动tomcat容器访问端口显示404的问题,页面显示 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在
- SpringMVC入门案例出现网页404错误的问题 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
- 错误——404 status report源服务器未能找到目标资源的表示或者是不愿公开一个已存在的资源表示(已解决)
- IDEA 404 源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示
- HTTP Status 404 – 未找到:源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
- 404源服务器未能找到目标资源的表示或者是不愿公开一个已经存在的资源表示。
- Tomcat启动访问网页出现500(HTTP状态 500 - 内部服务器错误 类型 异常报告 描述 服务器遇到一个意外的情况,阻止它完成请求。注意 主要问题的全部 stack 信息可以在 serve)
- js replace 全局替换 以表单的方式提交参数 判断是否为ie浏览器 将jquery.qqFace.js表情转换成微信的字符码 手机端省市区联动 新字体引用本地运行可以获得,放到服务器上报404 C#提取html中的汉字 MVC几种找不到资源的解决方式 使用Windows服务定时去执行一个方法的三种方式
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- vs 网站发布 到iis网站目录 出现错误 在分析向此请求提供服务所需资源时出错 分析器错误消息: 未能加载类型
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- 用VS2010自带的Library Package Manager安装EFCodeFirst出现“无法加载一个或多个请求的类型”错误的解决方法
- 用VS2010自带的Library Package Manager安装EFCodeFirst出现“无法加载一个或多个请求的类型”错误的解决方法
- 宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现“请求超时”或者“无法访问目标主机”的解决方法
- 一个服务器搭多个tomcat导致session丢失,或者同一个IP不同端口,多个应用的session会冲突解决方法
- nginx服务器上部署vue项目,刷新或者打开新窗口时出现404的解决方法
- 用VS2010自带的Library Package Manager安装EFCodeFirst出现“无法加载一个或多个请求的类型”错误的解决方法
- ORA-12520: TNS:监听程序无法为请求的服务器类型找到可用的处理程序解决
- 宿主机( win 7 系统) ping 虚拟机VMware( cent os 6.6 ) 出现“请求超时”或者“无法访问目标主机”的解决方法
- "无法启动Web服务器。Web服务器无法找到请求的资源" 或 "unable to start debugging on the web server.the web server could not find the request"解决方法