Servlet的HelloWorld

设置好TOMCAT环境变量(如何设置?)后在命令行输入startup可以启动Tomcat,输入shutdown可以关闭Tomcat。

/WEB-INF/web.xml是称为部署描述器的配置文件,Java web应用程序启动时,容器将会使用这个配置文件。
web.xml包含了应用程序元数据,例如默认显示的页面,要装载的Servlet以及文件的安全限制。

Java源代码和编译了的Java类应该放在Web应用程序的/WEB-INF/classes目录下。这个目录下的代码需要时可以被容器装载,并可可以被相同web应用程序的Servlet输入(import)使用。如果代码是包的一部分,就必须创建与包名匹配的目录结构。例如,一个类位于com.foo.example包中,放置了编译Java类的正确的地方是Web应用程序下的/WEB-INF/classes/com/foo/example目录。

Servlet中没有main方法,所以Servlet本身不是完整的Java应用程序。要使Servlet运行,即被容器调用,产生动态响应,就需要在容器中部署Servlet。

第一步在ookWEB-INF下创建部署描述文件web.xml,加入:

<web-app 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_3_0.xsd"
  version="3.0"
  metadata-complete="true">

  </web-app>

 

或简写:

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="3.0">

  </web-app>


第二步:在容器中注册HelloWorld Servlet,加入

    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>com.book.HelloWorld</servlet-class>
    </servlet>

第三步:映射Servlet,加入

    <!--servlet-mapping用于将一个servlet元素中定义的servlet映射为一个对外的访问路径-->
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>HelloWorld</url-pattern>
    <servlet-mapping>

最后web.xml变为如下内容:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app 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_3_0.xsd"
  version="3.0"
  metadata-complete="true">
    <!-- 在web容器中注册HelloWorld Servlet-->
    <servlet>
        <servlet-name>HelloWorld</servlet-name>
        <servlet-class>com.book.HelloWorld</servlet-class>
    </servlet>
    <!--servlet-mapping用于将一个servlet元素中定义的servlet映射为一个对外的访问路径-->
    <servlet-mapping>
        <servlet-name>HelloWorld</servlet-name>
        <url-pattern>/HelloWorld</url-pattern>
    <servlet-mapping>
</web-app>
原文地址:https://www.cnblogs.com/larrylawrence/p/3414065.html