zoukankan      html  css  js  c++  java
  • Servlet和Tomcat部署

      今天有空写个Servlet来玩一下。用EditPlus写一个简单的Servlet,FirstServlet.java,如下:

      

    import java.io.IOException;
    import java.io.PrintWriter;
    
    import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    
    public class FirstServlet extends HttpServlet { 
        public FirstServlet() {
    
        }
    
        protected void doGet(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<html><head>");
            out.println("<title>First Servlet</title>");
            out.println("</head><body>");
            out.println("Hello Servlet");
            out.println("</body></html>");
            out.close();
        }
    
        protected void doPost(HttpServletRequest request, HttpServletResponse response)
                throws ServletException, IOException {
            response.setContentType("text/html");
            PrintWriter out = response.getWriter();
            out.println("<html><head>");
            out.println("<title>First Servlet</title>");
            out.println("</head><body>");
            out.println("Hello Servlet");
            out.println("</body></html>");
            out.close();
        }
    }

    然后用javac FirstServlet.java编译,会产生一个FirstServlet.class文件。如果编译出现javax.servlet找不到之类的错误的话,首先找到Tomcat---->lib目录下的servlet-api.jar包(当然,前提是你要先安装Tomcat),然后就是将servlet-api.jar包放到JDK -->jre--->lib-->ext目录下面,重新编译,就可以了(因为servlet-api.jar包并非java库的,是属于javaWeb范畴了,所以要从tomcat里面拷出来放在jdk里面,编译的时候才能找到该jar包,这里还要注意一点,记得是放在jdd里面的jre,而不是放在和jdk同级的jre文件夹里面), 把该FirstServlet.class文件复制到Tomcat的安装目录~apache-tomcat-8.0.32webappsROOTWEB-INFclasses下面,如果你自己那里没有classes文件夹,则自己手工建一个即可.

    然后跟着把servlet在web.xml文件里面注册,添加节点如下(要包在根节点<web-app>里面):

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

      <servlet>节点是指定包含的Servlet类,<servlet-mapping>节点是指定servlet映射的Url。

      配置好了,然后是启动Tomcat,启动过程中还遇到了点小插曲(详看 启动Tomcat出现Using CATALINA_BASE ),启动tomcat成功之后,最后当然就是在浏览器里面输入http://localhost:8080/servlet/FirstServlet,便会在页面上看到:

    Hello Servlet

     大功告成。
     最后说下servlet,其实就是运行在服务器的java程序,是专门用来接收web请求以及相应web请求的,其不能单独运行,要运行在servlet容器里面,比如tomcat,weblogic等。servlet容器接收到web请求之后,会把请求封装成httpRequest,并且生成httpResponse响应,然后把他们通过参数的方式传递给servlet(doPost, doGet, service),经过处理之后,通过response的方法,再通过servlet容器来把response响应返回给客户端。

  • 相关阅读:
    python笔记2-python常见数据类型(一)
    python笔记1-环境安装和基本语法
    selenium自动化脚本错误总结
    Postman-Post请求示例
    用PHP删除ftp下载导致的文件空行
    JS实现鼠标悬浮,显示内容
    asp.net中处理程序调用HttpContext.Current.Session获取值出错
    自动化创建tornado项目
    fabric运维
    Python3虚拟环境安装:virtualenv、virtualenvwralpper
  • 原文地址:https://www.cnblogs.com/ismallboy/p/5387723.html
Copyright © 2011-2022 走看看