Java使用Tomcat服务器打开jsp等文件出现源码的解决办法

作者在使用IDEA进行Servlet学习过程中遇到HTML文件显示异常及JSP文件以源码形式打开的问题。通过调整web.xml配置及移除自定义Servlet注册解决了此问题,并介绍了@WebServlet注解的使用。
摘要由CSDN通过智能技术生成

问题详情

在最近的Servlet的学习中,我意外的发现以前写在webapp文件夹里的页面文件使用idea打开全部都有问题。
使用内置浏览器服务打开

html文件

可以打开,但显示异常,大家可以看看有什么问题
导航栏显示如下:localhost:63352/web(项目名称)/src/main/webapp/a.html?(参数)

首先服务器使用的端口是随机生成的63352,并不是Tomcat的8080,另外我的html也不需要参数赋值

jsp文件

直接是以文件的形式打开,显示源代码
显示源码

导航栏显示如下:文件|D:/中间是文件的磁盘路径/

解决办法

临时方法

我在论坛上翻了10个帖子就有8个说的都是这种,就是在文件路径前删掉磁盘路径,将localhost:8080(你的服务器端口号)就可以打开。但是这个方法只能救急,而且只能打开单独的jsp文件。如果我的a.jsp要跳转到b.jsp文件上,即使我打开a.jsp的时候加上了路径,跳到b页面的时候任然是文件的源码。

长期办法

这个就是其他楼主说的是web.xml文件的问题,是写Spring 项目的时候把杠※改成/就好了,我的项目也没有用Spring框架,而且也没有写过 /.但问题的关键就是web.xml。最近刚学了Servlet的生命周期和如何注册,于是我将对应的注册代码全部注释掉,结果就恢复正常了。太不容易了。
注释注册代码
后面我翻到了另外一个博主的帖子,和我的情况一样,我的想法是可能Tomcat自己内置了一个类似Servlet的东西,可以处理浏览器上的请求并发送响应,把对应的jsp转换为html。但是我们自己注册了Servlet之后就不用内置的那个了,就和构造器一样,这只是我的一点想法,后面查到官方资料会分享给大家的。

webServlet

那注册没了是可以正常用了,但我的Servlet不装载了,怎么办,自从
Servlet3.0以后可以不用再web.xml里面注册servlet,只需要加上@WebServlet注解就可以设置该servlet的属性了。
以我为例。
在这里插入图片描述
对应的属性分别为:
name对应的是Servlet的名字,同注册中的

<servlet-name>first</servlet-name>-->
<servlet-class>servlet.FirstServlet</servlet-class>-->

urlpattern对应的是注册中的路径

 <servlet-name>first</servlet-name>-->
 <url-pattern>/first</url-pattern>-->

loadOnStartup对应注册中的 加载顺序,只能填大于0的整数
,数字越小越先加载

<!--  使Servlet被加载时自动装载,实例化,初始化,中间放大于等于0的数,数字
    表示第几个被加载-->
<!--    <load-on-startup>30</load-on-startup>-->

这是我来CSDN写的第一篇博客,希望各位大佬有不对的地方及时指出,共同进步

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值