<address id="ttjl9"></address>

      <noframes id="ttjl9"><address id="ttjl9"><nobr id="ttjl9"></nobr></address>
      <form id="ttjl9"></form>
        <em id="ttjl9"><span id="ttjl9"></span></em>
        <address id="ttjl9"></address>

          <noframes id="ttjl9"><form id="ttjl9"></form>

          IDEA2021 tomcat10 servlet 較新版本 踩坑記錄

          2021-4-16    前端達人

          因為學習的時候用的版本比較新,而網上的教程又全是老版本,所以出現了很多問題,總結以下,幫同樣初學的師傅們踩坑了。
          廢話不多說:

          1:
          file->new->project新建一個普通java項目:
          工程名可以隨意命名

          2:
          工程名上右鍵->Add Framework Support:

          在Web Application上打勾,點擊OK

          3:
          展開工程名->web->WEB-INF,在WEB-INF下新建兩個文件夾,分別是classes、lib:

          4:
          按下ctrl+alt+shift+S,調出Project Structure,
          選到Modules->Paths,單選框選到use module xxxxx,將兩個路徑改為剛才創建的classes。
          然后選到Dependencies,點擊下面的+號,選擇jars or dirxxxxxxxx,選擇剛創建的lib目錄,讓選擇目錄用處的話,選擇jar direxxxxxxx,打上勾,點擊apply,OK

          5:
          將tomcat/lib目錄下的servlet-api.jar復制到我們創建的lib目錄里。

          6:
          點擊右上角小錘子旁邊的Add Configuration,點擊加號,選擇tomcat server->local。這里注意不要選成tomEE的,兩者圖標一樣,但是不是一個東西。其他配置不變,點擊aplly上面的fix,application context可以隨意命名,建議一個/就可以。然后aplly,OK。

          7:
          改一改index.jsp中帶的title和end,運行一下,如果類似以下,那基本就OK了。

          8:
          在src里面新建一個java class,嘗試寫一個servlet:
          這里也是與其他版本不同的地方,老版本都是import javax.servlet.xxxxx,這里是import jakarta.servlet.xxxxx,具體應該import的包,可以展開servlet-api.jar看到。
          在這里插入圖片描述

          import jakarta.servlet.ServletException; import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; import java.io.IOException; import java.io.PrintWriter; @WebServlet(name = "login") public class Login extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML>"); out.println("<HTML>"); out.println("  <HEAD><TITLE>login</TITLE></HEAD>"); out.println("  <BODY>"); out.print("    this is login page"); out.print(this.getClass()); out.println("  </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); PrintWriter out = response.getWriter(); out.println("<!DOCTYPE HTML>"); out.println("<HTML>"); out.println("  <HEAD><TITLE>login</TITLE></HEAD>"); out.println("  <BODY>"); out.print("    this is login page"); out.print(this.getClass()); out.println("  </BODY>"); out.println("</HTML>"); out.flush(); out.close(); } } 
          
          • 1
          • 2
          • 3
          • 4
          • 5
          • 6
          • 7
          • 8
          • 9
          • 10
          • 11
          • 12
          • 13
          • 14
          • 15
          • 16
          • 17
          • 18
          • 19
          • 20
          • 21
          • 22
          • 23
          • 24
          • 25
          • 26
          • 27
          • 28
          • 29
          • 30
          • 31
          • 32
          • 33
          • 34
          • 35
          • 36
          • 37
          • 38
          • 39
          • 40
          • 41
          • 42
          • 43
          • 44
          • 45

          然后修改web.xml文件,如下:
          servlet-name可以任意命名,只要上下兩個一致就可以,servlet-class應該與類名相同,url-pattern是與java class中的@WebServlet(name=“xxxx”)的xxxx相同,這里的xxxx就是路徑。
          此時編譯并運行,在地址欄輸入我們寫的url,就可以訪問到動態資源了:

          全篇結束,只是記錄踩坑,希望能對大家有幫助。


          轉自:csdn 論壇 作者:Hausa_


          藍藍設計www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服

          日歷

          鏈接

          個人資料

          藍藍設計的小編 http://www.syprn.cn

          存檔

          亚洲va欧美va天堂v国产综合