剛開始用IDEA開發,還不太熟悉,因此寫一個教程,加深印象
1、新建一個Web項目
兩種方法:java 和 Java Enterprise(推薦)
第一種)通過Java工程創建,這個方法需要手動導入Tomcat的servlet包才能使用servlet
導入包的方法是創建項目並配置好Tomcat后,File->Project Structure,點擊 Modules --> 選中項目“JavaWeb” --> 切換到 Dependencies 選項卡 --> 點擊右邊的“+”

選中Tomcat中的Jar包

添加后,如下所示

第二種方法)通過Java Enterprise創建,這個方法會自動導入Tomcat的servlet包

輸入項目名

完整的項目結構如下

2、web項目配置
2.1在web目錄下的WEB-INF下新建兩個目錄lib和classes

結構如下

2.2File->Project Structure,點擊 Modules --> 選中項目“JavaWeb” --> 切換到 Paths 選項卡 --> 勾選 “Use module compile output path”,將 “Output path” 和 “Test output path” 都改為之前創建的classes目錄

2.3 點擊 Modules --> 選中項目“JavaWeb” --> 切換到 Dependencies 選項卡 --> 點擊右邊的“+”,選擇 “JARs or directories...”,選擇創建的lib目錄,這個目錄用來存放依賴的jar包

選擇Jar Directory

3. Tomcat配置
3.1 Run -> Edit Configurations,進入“Run Configurations”窗口,點擊"+"-> Tomcat Server -> Local,創建一個新的Tomcat容器


3.2 在"Name"處輸入新的服務名,點擊“Application server”后面的“Configure...”,彈出Tomcat Server窗口,選擇本地安裝的Tomcat目錄 -> OK

4. JavaWeb測試
4.1 Run -> Edit Configurations,進入“Run Configurations”窗口,選擇之前配置好的Tomcat,點擊“Deployment”選項卡,點擊“+” -> “Artifact”-> 選擇創建的web項目的Artifact...
修改“Application context”-> Apply -> OK

說明:此處的Application context是指定本工程的根目錄
4.2 在index.jsp文件中的body之間添加要顯示的內容,然后點擊“運行”的綠色三角

打開瀏覽器,輸入:localhost:8080/JavaWeb

二、Servlet簡單實現
1、在src目錄下新建一個類
package com.uestc.www.servlets;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class Aservlet extends HttpServlet {
private String message;
public void init() throws ServletException{
message = "hello world!!";
}
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
// 設置響應內容類型
response.setContentType("text/html");
// 實際的邏輯是在這里
PrintWriter out = response.getWriter();
out.println("<h1>" + message + "</h1>");
}
}
2、對Servlet進行配置,有兩個方法
1)在web.xml中對servlet進行配置

在web.xml中配置Servlet的目的其實只有一個,就是把訪問路徑與一個Servlet綁定到一起,上面配置是把訪問路徑:“/hello”與“com.uestc.www.servlets.Aservlet”綁定到一起。
<servlet>:指定hello這個Servlet的名稱為hello;
<servlet-mapping>:指定/hello訪問路徑所以訪問的Servlet名為hello。
<servlet>和<servlet-mapping>通過<servlet-name>這個元素關聯在一起了
2)利用注解進行配置
在servlet類的上面寫入注解@WebServlet("/hello")

3. 運行servlet,點擊運行按鈕
在地址欄輸入localhost:8080/JavaWeb/HelloWorld

