在Myeclipse中开发web项目时,servlet的创建和使用中应该注意的问题。

前言:
在一次网页开发中,由于在开发工程中servlet的部署不当,导致整个网页都无法正常使用。起初以为是在myeclipse中项目的路径出现问题,后来通过逐步排查,发现是自己在使用myeclipse中创建的servlet路径问题,导致整个网页无法正常显示。

开发环境:操作系统: win10、IDE:Myeclipse、JDK:java1.8.0 服务器:tomcat

内容概要:
1、 不要直接copy复制把servlet文件Paste粘贴到项目中,谨记。
2、 在myeclipse中创建servlet文件时,要注意servlet的路径设置,这个直接影响到servlet的使用,甚至影响到整个网页的开发。

主要内容:
首先要明确一点,servlet的使用和web.xml文件是分不开的。
接下来,本文通过创建一个web项目和servlet文件讲解在myeclipse中开发web项目该如何创建和使用servlet.

首先创建一个web项目web1
这里写图片描述
web1的主要内容。从图中可以看见web1\WebRoot\WEB-INF文件夹中并没有web.xml文件
这里写图片描述

现在在web1项目中创建名为servlet1的servlet文件
这里写图片描述
当我们选择将servlet文件存储到其他位置时,会看到只能选择存储到web1\src文件夹(而非web1\WebRoot文件夹)中
这里写图片描述

当我们给servlet文件选择package包时,只有default package默认包。因此在servlet存储时选择创建一个新的包或使用默认包,因此servlet文件存储在web1\src\包名\ 中
这里写图片描述

然后是servlet的路径配置,要注意Mapping URL这一项,这一项是调用servlet文件的路径
这里写图片描述
下面是生成的servlet文件的代码

<web-app>
  <servlet>
    <servlet-name>servlet1</servlet-name>
    <display-name>This is the display name of my J2EE component</display-name>
    <description>This is the description of my J2EE component</description>
    <servlet-class>web1.servlet1</servlet-class>
  </servlet>

  <servlet-mapping>
    <servlet-name>servlet1</servlet-name>
    <url-pattern>/servlet/servlet1</url-pattern>
  </servlet-mapping>
</web-app>

其中/servlet/servlet1当使用url”/servlet/servlet1”时,tomcat就会调用web1.servlet1这个文件。从而实现servlet的调用。如果直接复制servlet文件或servlet的文件内容到自己的项目中,而web.xml文件中并没有该servlet文件的调用路径,是无法调用servlet文件的。
结论一:不要直接copy复制把servlet文件Paste粘贴到项目中,谨记。

以下项目为例,Blog\src\C存储的是servlet文件,Blog\WebRoot存储的是web项目的主要内容。
这里写图片描述
在Blog\WebRoot\login.jsp中,调用了servlet文件Blog\src\C\loginCheck.java,在web.xml文件中loginCheck.java的寻址代码为

 <servlet-mapping>
    <servlet-name>loginCheck</servlet-name>
    <url-pattern>/servlet/loginCheck</url-pattern>
  </servlet-mapping>

所以,在login.jsp文件中要用语句“servlet/loginCheck调用loginCheck.java文件。在项目中的效果为:
这里写图片描述
这里写图片描述
从两幅图对比可以知道,login.jsp跳转loginCheck.java导致网页进入了更深的一层,当使用loginCheck.java跳转到其他网页是会因为loginCheck在servlet1文件夹下,而导致路径问题更加复杂。解决问题的方法是将/servlet/loginCheck改成/loginCheck
修改后的结果为
这里写图片描述
即loginCheck可以通过相对路径调用和login.jsp同一个路径下的文件。
结论二:在myeclipse中创建servlet文件时,要注意servlet的路径设置,这个直接影响到servlet的使用,甚至影响到整个网页的开发。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值