IntelliJ IDEA 15 部署 Tomcat 及創建一個簡單的Web工程
1. 新建 Java EE 工程
默認勾選了 Create web.xml
新建工程
工程目錄下比一般的 Java 項目多了 web 文件夾
工程目錄
2. 添加 Tomcat 服務器
Setting - Application Servers
3. 添加 Tomcat Module
Project Structure -> Modules -> 添加 Library
Project Structure
選擇第 2 步添加的 Tomcat
Choose Libraries
選中之后 Apply
Project Structure
4. 配置本地 Tomcat 服務器
Run/Debug Configurations
設置 Deployment 目錄
artifact 目錄
設置 Server 屬性
5. 運行測試
鏈接:http://localhost:8089/web/
默認顯示的是 index.jsp 的內容
6. Servlet 測試
src 下新建 Servlet,設置 類名,包名
FirstServlet.java
package com.shuai.web;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
/**
* Created by shuai
* on 2017/8/20.
*/
@WebServlet(name = "FirstServlet", urlPatterns = {"/first"})
public class FirstServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
}
注意一定要設置 urlPatterns 告訴瀏覽器哪個路徑可以到這個 Servlet
@WebServlet(name = "FirstServlet", urlPatterns = {"/first"}) // “/” 必須有
通過下面這個鏈接訪問 FirstServlet
http://localhost:8089/web/first
Get 方法 獲取地址欄參數
doGet 方法
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("UTF-8"); // 防止亂碼
System.out.println(request.getParameter("name")); // 地址欄 name 參數的值
}
訪問鏈接
http://localhost:8089/web/first?name=tom
命令行輸出
tom
POST 方法 獲取表單數據
index.jsp body 標簽中添加 Form
<!--添加Form-->
<form action="first" method="post">
用戶名: <input type="text" name="name"><br>
密碼: <input type="password" name="password"><br>
<input type="submit" value="提交">
</form>
doPost 方法
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
命令行輸出
謝帥
GET vs POST
- post 安全,隱式傳參數
- get 會在地址欄添加上參數和內容