2023年11月28日发(作者:)
Java使⽤Tomcat服务器打开jsp等⽂件出现源码的解决办法
问题详情
在最近的Servlet的学习中,我意外的发现以前写在webapp⽂件夹⾥的页⾯⽂件使⽤idea打开全部都有问题。
html⽂件
可以打开,但显⽰异常,⼤家可以看看有什么问题
导航栏显⽰如下:localhost:63352/web(项⽬名称)/src/main/webapp/?(参数)
⾸先服务器使⽤的端⼝是随机⽣成的63352,并不是Tomcat的8080,另外我的html也不需要参数赋值
jsp⽂件
直接是以⽂件的形式打开,显⽰源代码
导航栏显⽰如下:⽂件|D:/中间是⽂件的磁盘路径/
解决办法
临时⽅法
我在论坛上翻了10个帖⼦就有8个说的都是这种,就是在⽂件路径前删掉磁盘路径,将localhost:8080(你的服务器端⼝号)就可以打
开。但是这个⽅法只能救急,⽽且只能打开单独的jsp⽂件。如果我的要跳转到⽂件上,即使我打开的时候加上了路径,跳到
b页⾯的时候任然是⽂件的源码。
长期办法
这个就是其他楼主说的是⽂件的问题,是写Spring 项⽬的时
候把杠※改成/就好了,我的项⽬也没有⽤Spring框架,⽽且也没有写
过 /
.但问题的关键就是。最近刚学了Servlet的⽣命周期和如何注册,于是我将对应的注册代码全部注释掉,结果就恢复正常了。
太不容易了。
后⾯我翻到了另外⼀个博主的帖⼦,和我的情况⼀样,我的想法是可能Tomcat⾃⼰内置了⼀个类似Servlet的东西,可以处理浏览器上的请
求并发送响应,把对应的jsp转换为html。但是我们⾃⼰注册了Servlet之后就不⽤内置的那个了,就和构造器⼀样,这只是我的⼀点想法,
后⾯查到官⽅资料会分享给⼤家的。
webServlet
那注册没了是可以正常⽤了,但我的Servlet不装载了,怎么办,⾃从
Servlet3.0以后可以不⽤再⾥⾯注册servlet,只需要加上@WebServlet注解就可以设置该servlet的属性了。
以我为例。
对应的属性分别为:
name对应的是Servlet的名字,同注册中的
<servlet-name>firstservlet-name>-->
<servlet-class>servlet.FirstServletservlet-class>-->
urlpattern对应的是注册中的路径
<servlet-name>firstservlet-name>-->
<url-pattern>/firsturl-pattern>-->
loadOnStartup对应注册中的 加载顺序,只能填⼤于0的整数
,数字越⼩越先加载
这是我来CSDN写的第⼀篇博客,希望各位⼤佬有不对的地⽅及时指出,共同进步


发布评论