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响应返回给客户端。

  • 相关阅读:
    oracle 查询 当前最大时间的value的值
    Visual Studio《加载此属性页时出错》的解决办法
    (转) 关于在IE6下 无法跳转问题
    LINQ TO XML 个人的一些心得1
    CSS实现单行、多行文本溢出显示省略号(…)
    html 图像映射(一个图像多个连接)
    JS页面跳转大全
    首行负缩进达到内容对齐的目的
    HTML图片死活不显示
    JS高级. 06 缓存、分析解决递归斐波那契数列、jQuery缓存、沙箱、函数的四种调用方式、call和apply修改函数调用方法
  • 原文地址:https://www.cnblogs.com/ismallboy/p/5387723.html
Copyright © 2011-2022 走看看