參考鏈接:
一、Tomcat
- 操作如下:File | Settings | Build, Execution, Deployment | Application Servers
- 部署成功
二、Java Web項目
IntelliJ IDEA 2021.2 這個新版本,不管是在創建項目上,還是在進行一些選項的配置上,與之前的版本相比都有些許的不同。
1. 新建module
- 注意:普通java項目,而不是Java Enterprise;
2. 添加框架支持
- 創建完Java項目后,右擊項目,選擇Add Frameworks Support;
-
選擇 Java EE8
-
選中Web Application,默認create web.xml
- 目錄結構變化,如下
三、配置
此時建議
在
WEB-INF
下建lib
和classes
文件夾,並在 Modules 的 Paths 把輸出文件夾指向WEB-INF.classes
即將后面編譯的class文件默認生成到classes目錄下
點擊
Modules
-> 選中項目JavaWeb
-> 切換到 Dependencies 選項卡 -> 點擊右邊的“+” -> 選擇 “JARs or directories...”,選擇創建的lib目錄即將未來使用的第三方包引用在此目錄
配置打包方式Artifacts:點擊 Artifacts選項卡,IDEA會為該項目自動創建一個名為“JavaWeb:war exploded”的打包方式,表示 打包成war包,並且是文件展開性的,輸出路徑為當前項目下的 out 文件夾,保持默認即可。另外勾選下“Build on make”,表示編譯的時候就打包部署,勾選“Show content of elements”,表示顯示詳細的內容列表。
Ctrl
+Shift
+Alt
+s
,進入Project Structure
- 設置sources目錄,並勾選sources root
-
打包jar包,首先cancel選定module
博主這里借用一下其他教程的兩張圖
- 改名再選定add to module或者project
四、Tomcat實例
- 選擇
Run
->Edit Configuration
->左上角加號
->Tomcat Server
->Local
- 點擊Application server右邊的Configure,找到你放置的Tomcat的目錄
-
選擇第二個選項卡
Deployment
->+
-> 選擇Artifacts
,說明:此處的Application context是指定本工程的根目錄,可以對項目的訪問地址進行修改,如果只有一個/
,則默認表示localhost:8080/
,后面直接跟需要訪問的頁面即可,Apply;個人選擇改為
/JavaWeb
-
配置完成工具欄出現如下標志,但未啟動
此時可以修改內部的實時更新,Updata classes and resources
-
點擊右下角的services,啟動綠色的三角按鈕 Run,啟動 Tomcat;
-
可以看到 Tomcat bin 目錄的 catalina Run,打開 index.jsp 運行;
-
Tomcat 已啟動
-
打開瀏覽器,輸入:
localhost:8080/JavaWeb
orhttp://127.0.0.1:8080/JavaWeb/
至此,IDEA 創建並設置 JavaWeb 工程全部完成,下面是在其中編寫並運行Servlet。
五、Servlet簡單實現
1. 編寫servlet源文件
在 src
目錄下新建包 MyServlet
,在包內新建 HelloServlet.java
並編寫一下代碼並進行編譯:
因為 Servlet 類其實就是一個普通的 Java 類,IDEA 中可以直接右鍵→new→Create New Servlet。會自動幫你生成繼承了 HttpServlet 類的模板,十分方便。類文件生成后,我們便可以寫自己的 Servlet 服務啦,先寫一個最簡單的 Hello World 服務,即用戶訪問指定 URL 地址,便調用該 Servlet 在瀏覽器中輸出 Hello World。在這里,我們使用注解的方式將 Servlet 服務映射到URL:/helloWorld 上。
package MyServlet;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
@WebServlet(name = "HelloWorldServlet",urlPatterns = "/helloWorld")
public class HelloServlet extends HttpServlet {
private String message;
public void init() {
message = "Hello World!";
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html");
// Hello
PrintWriter out = response.getWriter();
out.println("<html><body>");
out.println("<h1>" + message + "</h1>");
out.println("</body></html>");
}
@Override
public void destroy() {
super.destroy();
}
}
編譯后會發現在 classes
目錄下生成了 HelloServlet.class
文件
2. 部署servlet
方法一:
在 WEB-INF
目錄下 web.xml
文件的 <web-app>
標簽中添加如下內容:
<!-- 有點問題,待補 -->
方法二:
使用注解的方式將 Servlet 服務映射到URL:/helloWorld 上。
在HelloWorld文件的類前面加上:
@WebServlet(name = "helloServlet", value = "/hello-servlet")
// or
@WebServlet(name = "HelloWorldServlet",urlPatterns = "/helloWorld")
// or
@WebServlet("/HelloWorld")
控制台出現successfully則tomcat服務啟動成功!
打開瀏覽器輸入:localhost:8080/JavaWeb/helloWorld
即可查看servlet運行狀態了.