tomcat上servlet程序的配置与处理servlet请求过程

Posted L蓝天碧水L

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tomcat上servlet程序的配置与处理servlet请求过程相关的知识,希望对你有一定的参考价值。

手动配置:

tomcat服务器下web项目的基本目录结构

|-tomcat根目录
  |-webapps
    |-WebRoot : web应用的根目录
      |-静态资源(html+css+js+image+vedio)
      |-WEB-INF : 固定写法。
        |-classes: (可选)固定写法。存放class字节码文件
        |-lib: (可选)固定写法。存放jar包文件。
        |-web.xml

 

什么事servlet?用java语言来编写动态资源的开发技术,一个继承至HttpServlet类的普通类。

手写一个MyServlet类,并继承至HttpServlet(记得导入servlet-api.jar包,在 tomcat根目录/lib/servlet-api.jar),重写其doGet方法(该方法当浏览器发起get请求访问该文件时调用)

复制代码
1 public class MyServlet extends HttpServlet {
2     @Override
3     protected void doGet(HttpServletRequest req, HttpServletResponse resp)
4             throws ServletException, IOException {
5         resp.getWriter().write("Hollo servlet");
6     }
7 }
复制代码

手动在webapps新建一个文件夹作为一个web项目文件夹,例如MyServlet

目录结构如下

|-tomcat根目录
  |-webapps
    |-MyServlet
      |-WEB-INF 。
        |-classes
        |-lib
        |-web.xml

将编译好的class文件放置于上面目录结构中classes文件中(如果文件在某个包下,应将整个包拷贝到classes文件夹中)

接下来就是配置web.xml

复制代码
<!--带下划线的为固定格式写法,中间部分为servlet通过url访问的配置信息-->
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet> <!--servlet名称,可以自定义--> <servlet-name>MyServlet</servlet-name> <!-- servlet类名: 包名+简单类名--> <servlet-class>jxf.sevrlet.MyServlet</servlet-class> </servlet> <servlet-mapping> <!--servlet名称,应与上面的名称保持一致,因为是通过下面的servlet访问名称来定位到上面的servlet名称,再通过上面的名称定位到servlet类的位置--> <servlet-name>MyServlet</servlet-name> <!-- servlet的访问名称: /名称 --> <url-pattern>/hello</url-pattern> </servlet-mapping> </web-app>
复制代码

当上面都准备好了以后,在浏览器地址栏中输入http://localhost:8081/MyServlet/hello(我的端口是8081),就可以访问到写好的servlet了。

请求过程分析:如下图所示:

用MyEclipse部署web项目实现上面的过程:

1、部署项目前的准备工作,配置好tomcat

 

2、tomcat配置成功后如下图

3、新建一个web项目,取名为MyServlet

4、项目目录结构,可以看到与我们上面手动创建的目录结构是一致的

5、在src中新建一个servlet

打开web.xml文件,可以看见MyEclipse自动生成的内容为:(不带下划线部分与上面手动编写的内容是一致的)

复制代码
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <web-app version="2.5" 
 3     xmlns="http://java.sun.com/xml/ns/javaee" 
 4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
 6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
 7   <display-name></display-name>
 8   <servlet>
 9     <description>This is the description of my J2EE component</description>
10     <display-name>This is the display name of my J2EE component</display-name>
11     <servlet-name>MyServlet</servlet-name>
12     <servlet-class>jxf.servlet.MyServlet</servlet-class>
13   </servlet>
14 
15   <servlet-mapping>
16     <servlet-name>MyServlet</servlet-name>
17     <url-pattern>/hello</url-pattern>
18   </servlet-mapping>    
19   <welcome-file-list>
20     <welcome-file>index.jsp</welcome-file>
21   </welcome-file-list>
22 </web-app>
复制代码

6、最后点击部署按钮,将项目部署到tomcat中。如下图

7、重启tomcat,浏览器地址栏输入http://localhost:8081/MyServlet/hello,完成。

以上是关于tomcat上servlet程序的配置与处理servlet请求过程的主要内容,如果未能解决你的问题,请参考以下文章

tomcat的缺省servlet如何处理静态资源

Tomcat内部结构及工作原理学习

前端:Tomcat服务器部署Web项目

springboot深入学习-----tomcat配置websocket

tomcat 报错出现 jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Ser

tomcat上部署CGI