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写的第⼀篇博客,希望各位⼤佬有不对的地⽅及时指出,共同进步