首先我们需要了解Tomcat下的文件结构。
tomcat的安装目录里,所有的web application都放在webapps下。假设某个webapp的名字叫test。
那么会有在webapps目录下会有一个test文件夹。
test
|——WEB-INF(必要)
|————web.xml(必要) 该app配置文件
|————lib app用到的库文件
|————classes 存放编译好的servlet的class文件
|——META-INF 存放web app上下文信息

1.先写一个类HelloServlet,继承HttpServlet后覆盖doGet等方法(注意了解HttpServletRequest和HttpServletResponse的含义)

2.由于Servlet程序是要给Tomcat使用的,这时候就要将编译好的.class文件放在WEB-INF下的classes下。

3.如何让tomcat使用这个.class文件呢?这时候就要修改web.xml文件了。
格式:
<servlet>

<servlet-name>HS</servlet-name>   /*servlet的名字可以随便取*/
<servlet-class>HelloServlet </servlet-class>    /*这个必须符合.class文件的名字*/

</servlet>

<servlet-mapping> /url的映射/

<servlet-name>HS</servlet-name>  /*名字与上面一致*/
<url-pattern>/abc</url-pattern>  /*地址栏里敲什么地址(相对于该web application的地址)
                                    才能访问到这个类,必须以“/”开头,比如这里敲/abc,
                                    会找到HS这个名字的servlet,然后追踪到<servlet>
                                    标签内的HelloServlet.class类*/

</servlet-mapping>
修改完毕后tomcat显示Reloading context[/test] 则修改完成
此时即可开启tomcat server,通过url访问该web资源了

可能遇到的问题
1.当我们使用eclipse EE初次打开HttpServlet类的源文件时,可能会失败,比如Ctrl+左键追踪时找不到这个包,这是因为jdk中是不包含源码的,因此导包也是导不进去的,需要手动连接。
此时需要下载tomcat源码:https://tomcat.apache.org/dow...
下载后解压,然后在项目的包资源管理器(Package Resource)中找到导入的servlet-api.jar,右键属性-java源码连接-External location选择外部文件夹(External folder),找到解压文件apache-tomcat-9.0.2-src/java选中即可。

2.web.xml中的<servlet-class>写错了类名,导致500错误图片描述

3.ie地址栏中写的url错误(应当与web.xml中<url-pattern>配置的相同)导致404错误图片描述


Myosotis
89 声望13 粉丝