佳木斯湛栽影视文化发展公司

主頁 > 知識庫 > IDEA2021 tomcat10 servlet 較新版本踩坑問題

IDEA2021 tomcat10 servlet 較新版本踩坑問題

熱門標簽:阿里云 美圖手機 使用U盤裝系統(tǒng) 硅谷的囚徒呼叫中心 百度競價點擊價格的計算公式 網站建設 智能手機 檢查注冊表項

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

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,將兩個路徑改為剛才創(chuàng)建的classes。

然后選到Dependencies,點擊下面的+號,選擇jars or dirxxxxxxxx,選擇剛創(chuàng)建的lib目錄,讓選擇目錄用處的話,選擇jar direxxxxxxx,打上勾,點擊apply,OK

5:
將tomcat/lib目錄下的servlet-api.jar復制到我們創(chuàng)建的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();
    }
}

然后修改web.xml文件,如下:

servlet

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

 到此這篇關于IDEA2021 tomcat10 servlet 較新版本踩坑問題的文章就介紹到這了,更多相關idea2021 tomcat servlet內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

標簽:湖北 黃山 湘潭 賀州 懷化 山南 通遼 煙臺

巨人網絡通訊聲明:本文標題《IDEA2021 tomcat10 servlet 較新版本踩坑問題》,本文關鍵詞  ;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266
    荥阳市| 金乡县| 安多县| 屏边| 隆回县| 天长市| 宜阳县| 怀来县| 双辽市| 尼木县| 壶关县| 太保市| 满洲里市| 黔东| 甘洛县| 景德镇市| 日喀则市| 穆棱市| 宕昌县| 盐津县| 米泉市| 隆林| 蒙城县| 锡林郭勒盟| 英超| 渑池县| 蓝田县| 肃北| 房山区| 西华县| 兰州市| 芒康县| 舟山市| 保康县| 出国| 乳源| 赫章县| 石门县| 乌什县| 天镇县| 呈贡县|