Java Web项目访问不到html文件怎么解决
导读:本文共1354字符,通常情况下阅读需要5分钟。同时您也可以点击右侧朗读,来听本文内容。按键盘←(左) →(右) 方向键可以翻页。
摘要: 踩坑问题和原因踩坑问题由于博主的JavaWeb是速成所以对一些知识点掌握的不是很熟,所以也就出现了今天这个问题——Tomcat访问不到html文件。在运行是总是会出现404。每次出现这个就很烦,让人摸不着头脑。虽然这个问题其实对一些项目没有很大的影响,但是他会让我的项目目录会很杂乱。总的来说该问题就是不解决它,就会出现一堆... ...
目录
(为您整理了一些要点),点击可以直达。踩坑问题和原因
踩坑问题
由于博主的JavaWeb是速成所以对一些知识点掌握的不是很熟,所以也就出现了今天这个问题——Tomcat访问不到html文件。
在运行是总是会出现404。每次出现这个就很烦,让人摸不着头脑。虽然这个问题其实对一些项目没有很大的影响,但是他会让我的项目目录会很杂乱。总的来说该问题就是不解决它,就会出现一堆静态资源都在一个文件夹。这可能会导致后期找一些项目的文件就得找半天。
踩坑原因
由于粗心的我把一些html文件都放在WEB-INF下面。因为WEB-INF下的资源不能直接访问(WEB-INF是Java的web应用安全目录,只对服务端开放,对客户端是不可见的。),只能通过请求和转发过去。所以在浏览器上面是访问不到的(重定向也是不可以的)。
解决办法
在上述中也说了,直接访问是访问不到的。但是我们能通过转发和请求来对html文件进行访问。而在本次项目中,博主是采用的请求访问。也就是说,先是前端发送信号到后端——表示我需要请求某个网页。然后后端相对应的做出反应然后返回跳转到相对应的界面。
publicclassregistextendsssm.ViewBaseServlet{//继承了一个类,这个类就是用来解析html时用的。@OverrideprotectedvoiddoGet(HttpServletRequestreq,HttpServletResponseresp)throwsServletException,IOException{super.processTemplate("/user/regist",req,resp);//调用了类的方法,其实这个地方可以选择转发更方便!}
web.xml的配置:
<servlet-name>jump</servlet-name><servlet-class>database.jump</servlet-class></servlet><servlet-mapping><servlet-name>jump</servlet-name><url-pattern>/jump</url-pattern></servlet-mapping>
或者在Java文件中加一个@WebServlet("/login")。
当然我们也可以把静态资源给放在WEB-INF外面和static同级别,一般放在外面则需要使用`拦截器/过滤器,来完成权限验证判断合法用户。
</div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
Java Web项目访问不到html文件怎么解决的详细内容,希望对您有所帮助,信息来源于网络。