tomcat中运行servlet!

在tomcat下运行servlet,需要在web.xml文件中对servlet进行配置,下面用一个具体的例子一步一步来看一下整个过程。

1:首先创建一个web应用程序,这里我是用Eclipse建的,就叫web吧,存放路径C:/eclipse/workspace/web

2:tomcat中,添加conf下的server.xml中的<Context >标记

<Context path="/web" reloadable="true" docBase="C:/Eclipse/workspace/web"/>

3:编写一个名为ServletTest的servlet程序,具体内容如下,应该很简单的,就不多解释:

package test;
import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class ServletTest extends HttpServlet{
 protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
  doPost(arg0,arg1);
 }
 protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  response.setContentType("text/html");
  ServletOutputStream out=response.getOutputStream();
  out.println("<html>");
  out.println("<body>");
  out.println("TEST");
  out.println("</body>");
  out.println("</html>"); 
 }

}

4:将servlet编译后生成的class文件放到WEB-INF的class目录下,因为我这里带了个test包,所以生成的文件路径就是WEB-INF----->class----->test------>ServletTest.class

5:配置web.xml文件,在web应用程序的WEB-INF目录下,新建一个如下内容的web.xml文件

<?xml version="1.0" encoding="Shift_JIS"?>

<!DOCTYPE web-app
  PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
  "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
 <servlet>
  <servlet-name>ServletTest</servlet-name>
  <servlet-class>test.ServletTest</servlet-class>
 </servlet>
 <servlet-mapping>
  <servlet-name>ServletTest</servlet-name>
  <url-pattern>/ServletTest</url-pattern>  
 </servlet-mapping>
</web-app>

这里解释一下这个文件的内容:

<servlet-name>标签指定了servlet的名字,主要是下面的<servlet-mapping>用;

<servlet-class>说明了servlet存放的class目录下的位置,这里要加上必要的包名;

<servlet-mapping>标签中,<servlet-name>指出要要匹配的servlet的名字,这个与上边的<servlet>标签中定义的名字对应;<url-pattern>指出了当满足什么条件时,调用这个servlet;这里写的是/ServletTest

6:启动tomcat,并在浏览器中输入http://localhost:8090/web/ServletTest

则浏览器输出TEST

这里主要想说的就是<url-pattern>,这个标签指定了servlet的匹配类型,当写成 <url-pattern>/*</url-pattern>时,浏览器中输入http://localhost:8090/web/1111或者http://localhost:8090/web/2222,都会执行这个servlet
也就是在这个地方可以用一些通配符表示。

END!

### 如何在 Tomcat 上配置和运行 Servlet 示例 要在 Tomcat 上成功运行 Servlet 示例,需要完成以下几个方面的操作: #### 1. 准备工作 确保已经下载并解压了 Apache Tomcat 的安装包。Tomcat 提供了一个内置的 `examples` 应用程序,用于演示各种功能,包括 Servlet 和 JSP 示例[^4]。 #### 2. 编译 Servlet 文件 如果要手动创建自己的 Servlet 并部署到 Tomcat 中,则需要引入必要的依赖库来编译 Java 源代码文件。具体步骤如下: - 将 Tomcat 解压后的 `lib/` 目录下找到的 `servlet-api.jar` 复制到与自定义 Servlet 类(如 `MyServlet.java`)相同的目录中。 - 使用以下命令对 Servlet 进行编译: ```bash javac -cp ./servlet-api.jar MyServlet.java ``` 这一步是为了让编译器能够识别 Servlet 接口的相关类定义[^2]。 #### 3. 配置 web.xml 文件 每个 Web 应用都需要一个描述其结构的 `web.xml` 文件。对于简单的 Servlet 示例,可以在 `<TOMCAT_HOME>/webapps/ROOT/WEB-INF/web.xml` 或新建应用的 `WEB-INF/web.xml` 中添加相应的映射规则。例如: ```xml <servlet> <servlet-name>myServlet</servlet-name> <servlet-class>com.example.MyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>myServlet</servlet-name> <url-pattern>/helloWorld</url-pattern> </servlet-mapping> ``` 上述 XML 片段表示当客户端请求路径 `/helloWorld` 时,将调用名为 `myServlet` 的 Servlet 实例处理请求[^3]。 #### 4. 启动 Tomcat 服务 进入 Tomcat 安装目录下的 `bin/` 子目录,执行启动脚本: - 对于 Linux/Mac 用户:`./startup.sh` - 对于 Windows 用户:双击 `startup.bat` 确认控制台输出表明服务器已正常启动后,在浏览器地址栏输入类似下面 URL 地址验证是否生效: ``` http://localhost:8080/helloWorld ``` #### 5. 嵌入式 Tomcat 的使用场景 除了传统的独立部署方式外,还可以利用嵌入式的 Tomcat 来简化开发流程。这种方式特别适合微服务架构或者快速原型构建阶段。通过 Maven 插件 Smart Tomcat 可以轻松实现这一目的。 --- ### 注意事项 尽管 Tomcat 自带了一些示例应用程序便于学习研究用途,但在生产环境中应谨慎对待这些默认样例,因为它们可能存在安全隐患,比如 Cookie 泄露等问题。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值