• 使用javac命令编译Servlet,并将其放入tomcat中运行


    1. 首先我在桌面上新建了一个txt文件,编辑内容(内容来自菜鸟教程)为:
    // 导入必需的 java 库
    import java.io.*;
    import javax.servlet.*;
    import javax.servlet.http.*;
    
    // 扩展 HttpServlet 类
    public class HelloWorld extends HttpServlet {
     
      private String message;
    
      public void init() throws ServletException
      {
          // 执行必需的初始化
          message = "Hello World";
      }
    
      public void doGet(HttpServletRequest request,
                        HttpServletResponse response)
                throws ServletException, IOException
      {
          // 设置响应内容类型
          response.setContentType("text/html");
    
          // 实际的逻辑是在这里
          PrintWriter out = response.getWriter();
          out.println("<h1>" + message + "</h1>");
      }
      
      public void destroy()
      {
          // 什么也不做
      }
    }

    保存,将文件命名为HelloWorld(和主类名一致),文件后缀为.java。

      2. 然后按住shift键不放,鼠标右击桌面空白处,选择“在此处打开PowerShell窗口”,输入javac命令执行编译,报错如下。

    解决办法:javac 有一个encoding参数,于是改为javac -encoding utf-8 .HelloWorld.java,再次执行命令,错误如下。

    解决办法:原来依赖的jar包还没导进去,要怎么导入呢?在环境变量->系统变量下,新建(如果没有的话)变量CLASSPATH,选择“浏览文件”,找到桌面上的jar文件(可以用Everything搜索jar包位置)。

    再次执行,还是报错,重新打开PowerShell,编译成功。

      3. 把生成的class文件放到tomcat目录如E:Program Filesapache-tomcat-7.0.68下的webappsROOTWEB-INFclasses文件夹下,我发现WEB-INF下没有classes文件,便新建了一个。

    同时修改WEB-INF下的web.xml文件,在<web-app>标签中添加如下代码:

        <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>

      4. 保存后,到tomcat目录下的bin文件下找到startup.bat双击运行。

    等到出现如下信息,表示启动成功,注意http端口号,一般默认为8080。

      5. 最后就可以在浏览器上输入localhost:8080/HelloWorld访问servlet了

    Higher, faster, stronger!
  • 相关阅读:
    Java学习笔记day01
    对有序数组进行二分查找(折半查找)
    对数组进行冒泡排序
    LeetCode #344. Reverse String
    LeetCode #292. Nim Game
    LeetCode #258. Add Digits
    Android DiskLruCache完全解析,硬盘缓存的最佳方案
    Android源码解析——LruCache
    Messenger与AIDL的异同
    Android应用层View绘制流程与源码分析
  • 原文地址:https://www.cnblogs.com/Meiwah/p/11256555.html
Copyright © 2020-2023  润新知