Intellji 配置 JavaWeb + Tomcat 開發

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 會在地址欄添加上參數和內容
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容