使用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 Files\apache-tomcat-7.0.68下的webapps\ROOT\WEB-INF\classes文件夾下,我發現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了

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM