• Servlet的HelloWorld实例


    以下内容引用自http://wiki.jikexueyuan.com/project/servlet/first-example.html

    Servlets是Java类,服务于HTTP请求并实现了javax.servlet.Servlet接口。Web应用程序开发人员通常编写扩展javax.servlet.http.HttpServlet的Servlets,它是一个实现了Servlet接口的抽象类并且是为处理HTTP请求专门设计的。

    一、Hello World的示例代码

    下面是Servlet编写Hello World的示例源代码:

    // Import required java libraries
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    // Extend HttpServlet class
    public class HelloWorld extends HttpServlet {
      private String message;
      public void init() throws ServletException
      {
          // Do required initialization
          message = "Hello World";
      }
      public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
      {
          // Set response content type
          response.setContentType("text/html");
          // Actual logic goes here.
          PrintWriter out = response.getWriter();
          out.println("<h1>" + message + "</h1>");
      }  
      public void destroy()
      {
          // do nothing.
      }
    }

    二、编译Servlet

    把上述代码放入HelloWorld.java文件中,并把这个文件放在C:ServletDevel(Windows 操作系统中)或/usr/ServletDevel(UNIX 操作系统中)中,然后需要将这些目录添加到CLASSPATH中。

    假设环境已经正确地设置,进入ServletDevel目录,并编译HelloWorld.java,如下所示:

    $ javac HelloWorld.java

    如果Servlet依赖于任何其他库,必须还要在CLASSPATH中包含那些JAR文件。只包含了servlet-api.jar文件,因为在Hello World程序中没有使用任何其他库。

    该命令行使用了来自Sun Microsystems Java软件开发工具包(JDK)的内置的javac编译器。为使该命令正常工作,必须包含在PATH环境变量中使用的Java SDK的位置。

    如果一切顺利,上述编译会在相同的目录中产生HelloWorld.class文件。

    注意:POM和Eclipse项目忽略这一步。

    三、Servlet部署

    默认情况下,Servlet应用程序是位于路径/webapps/ROOT中的,且类文件放在/webapps/ROOT/WEB-INF/classes中。

    如果有一个完全合格的com.myorg.MyServlet的类名称,那么这个servlet类必须被放置在WEB-INF/classes/com/myorg/MyServlet.class中。

    现在,把HelloWorld.class复制到/webapps/ROOT/WEB-INF/classes中,并在位于/webapps/ROOT/WEB-INF/的web.xml文件中创建以下条目:

    注意:POM和Eclipse项目忽略上述做法,直入web.xml配置即可。

    <servlet>
       <servlet-name>HelloWorld</servlet-name>
       <servlet-class>HelloWorld</servlet-class>
    </servlet>
    <servlet-mapping>
       <servlet-name>HelloWorld</servlet-name>
       <url-pattern>/HelloWorld</url-pattern>
    </servlet-mapping>

    上面的条目要被创建在web.xml文件中可用的<web-app>...</web-app>标签内。在这个表中可能已经存在各种可用的条目,但没有关系。

    基本上已经完成了,现在使用<Tomcat-installation-directory>instartup.bat(Windows 操作系统中)或 <Tomcat-installation-directory>/bin/startup.sh(Linux/Solaris 等操作系统中)启动 tomcat 服务器,最后在浏览器的地址栏中输入http://localhost:8080/HelloWorld。如果一切顺利,会看到下面的结果:

    注意:上面做法忽略,POM和Eclipse直接运行即可。

    测试工程:https://github.com/easonjim/5_java_example/tree/master/servletbasics/test1

  • 相关阅读:
    2011年3月21日星期一
    AutoCAD VBA尺寸标注
    2011年3月22日星期二
    The method isEmpty() is undefined for the type String/String类型的isEmpty报错
    安全沙箱冲突..Error #2044: 未处理的 securityError:。 text=Error #2048: 安全沙箱冲
    Flash Builder4.6 无法启动,并且报 Failed to create the Java Virtual Machine (2—可能更好些)
    Flash Builder4.6 入门Demo_trace
    去掉JW Player水印及右键官方菜单
    JS如何判断单个radio是否被选中
    用JSON报错 java.lang.ClassNotFoundException: org.apache.commons.lang.exception.NestableRuntimeExcept .
  • 原文地址:https://www.cnblogs.com/EasonJim/p/6973387.html
Copyright © 2020-2023  润新知