基于 IntelliJ IDEA 模擬 Servlet 網(wǎng)絡(luò)請求示例
最近觀看 Android 開發(fā)視頻,里面使用的集成開發(fā)工具為 Eclipse 。使用 Eclipse 可以很快捷的編寫 Web 項(xiàng)目,而我使用的 Androi Studio 因?yàn)閷I(yè)就把建立其他工程的功能給閹割了。所以,不能忍受只能聽老師講而不能實(shí)際操作時(shí)望洋興嘆般的尷尬,我選擇了使用 IntelliJ IDEA 來替代 Eclipse 模擬網(wǎng)絡(luò)請求。下面結(jié)合一個簡單網(wǎng)絡(luò)請求的實(shí)現(xiàn),來介紹 IntelliJ IDEA 的使用。
首先當(dāng)然是下載 IntelliJ IDEA 集成工具,這個 Google/Baidu 一下,很容易就能獲得。
接下來配置 Tomcat 服務(wù)器,以 Mac 電腦為例,參考:Mac上tomcat服務(wù)器安裝配置 。
然后打開 IntelliJ IDEA ,選擇右邊的 Java Enterprise 項(xiàng)目類型,選擇剛裝的 Tomcat 服務(wù)器,勾選 Web Application 選項(xiàng)。

新建工程
點(diǎn)選 next,輸入自定義工程名稱 demo:

工程
然后我們就能看到新建工程的全貌:

工程
至此,一個 Web 應(yīng)用工程的框架已經(jīng)做好。但是要順利部署到 Tomcat 服務(wù)器,還需要我們添加處理服務(wù)的對象 Servlet。點(diǎn)擊 src 文件夾,添加 Servlet:

servlet
Servlet 類中能看到默認(rèn)生成的 doGet 和 doPost 方法:
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html");
response.getWriter().print("收到 post 請求");
String username = request.getParameter("username");
String pwd = request.getParameter("password");
if("admin".equals(username) && "abc123".equals(pwd)) {
response.sendRedirect("/2.html");
}
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");//設(shè)置
response.setContentType("text/html");
String username = request.getParameter("username");
String pwd = request.getParameter("password");
if("admin".equals(username) && "abc123".equals(pwd)) {
response.sendRedirect("/2.html");
}
}
要想使用新建的 Servlet 類,還需要在 web.xml 中進(jìn)行配置:
<web-app ...>
<servlet>
<servlet-name>Servlet</servlet-name>
<servlet-class>demo.Servlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Servlet</servlet-name>
<url-pattern>/demo</url-pattern>
</servlet-mapping>
</web-app>
其中 servlet-mapping 標(biāo)簽設(shè)置對外訪問的路徑。
然后在 web 目錄下添加前端頁面文件,比如命名 1.html 作為起始頁面,2.html 作為跳轉(zhuǎn)的結(jié)果頁面。

頁面
在 1.html 中編輯頁面布局,設(shè)置 head 標(biāo)簽,在 body 標(biāo)簽中添加 form表單。
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" >
<title>MyFirst</title>
<script type="text/javascript">
</script>
</head>
<body>
<h1>登錄頁面(get)</h1>
<form action="/demo" method="get">
<table>
<tr>
<td>
用戶名:
</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>
密碼:
</td>
<td>
<input type="text" name="password" type="hidden">
</td>
</tr>
<tr>
<td colspan="2" style="align-items: center">
<input type="submit" value="登錄">
</td>
</tr>
</table>
</form>
<h1>登錄頁面(post)</h1>
<form action="/demo" method="post">
<table>
<tr>
<td>
用戶名:
</td>
<td>
<input type="text" name="username">
</td>
</tr>
<tr>
<td>
密碼:
</td>
<td>
<input type="text" name="password" type="hidden">
</td>
</tr>
<tr>
<td colspan="2">
<input type="submit" value="登錄">
</td>
</tr>
</table>
</form>
</body>
</html>
2.html中編輯頁面:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1 style="color: red">
登錄成功!??!
</h1>
</body>
</html>
最后點(diǎn)擊 Debug 進(jìn)行運(yùn)行,部署到自己的 Tomcat 服務(wù)器上:

Debug
最后在瀏覽器輸入網(wǎng)址: http://localhost:8080/1.html ,就能訪問我們部署的網(wǎng)站了。

網(wǎng)站
打開 Chrome 的開發(fā)者工具,能夠看到發(fā)送請求的詳細(xì)情況:

發(fā)送請求
完工!
流程很簡單,以后就可以使用 IDEA 來學(xué)習(xí)后端開發(fā)的基本知識了,比如可以在后端獲取提交的文件,對成功的請求進(jìn)行跳轉(zhuǎn),請求失敗時(shí)要告知客戶端等等,都可以進(jìn)行模擬,更多知識點(diǎn)等你來發(fā)現(xiàn)了。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringMVC項(xiàng)目訪問controller時(shí)候報(bào)404的解決
這篇文章主要介紹了SpringMVC項(xiàng)目訪問controller時(shí)候報(bào)404的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-09-09
Java基于MySQL實(shí)現(xiàn)學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細(xì)介紹了Java基于MySQL實(shí)現(xiàn)學(xué)生管理系統(tǒng),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01
Java文件操作工具類fileUtil實(shí)例【文件增刪改,復(fù)制等】
這篇文章主要介紹了Java文件操作工具類fileUtil,結(jié)合實(shí)例形式分析了java針對文件進(jìn)行讀取、增加、刪除、修改、復(fù)制等操作的相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2017-10-10
Java利用自定義注解實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)
JSR303是一套JavaBean參數(shù)校驗(yàn)的標(biāo)準(zhǔn),它提供了一系列的校驗(yàn)方式,這些校驗(yàn)方式在javax.validation.constraints包中。本文就來聊聊如何利用它實(shí)現(xiàn)數(shù)據(jù)校驗(yàn)2022-09-09
java創(chuàng)建jar包并被項(xiàng)目引用步驟詳解
這篇文章主要介紹了java創(chuàng)建jar包并被項(xiàng)目引用步驟詳解,jar包實(shí)現(xiàn)了特定功能的,java字節(jié)碼文件的壓縮包,更多相關(guān)內(nèi)容需要的朋友可以參考一下2022-07-07
學(xué)習(xí)Java中的日期和時(shí)間處理及Java日歷小程序的編寫
這篇文章主要介紹了學(xué)習(xí)Java中的日期和時(shí)間處理及Java日歷小程序的編寫,這個日歷小程序僅用簡單的算法實(shí)現(xiàn)沒有用到date類等,但是帶有圖形界面,需要的朋友可以參考下2016-02-02
java集合模擬實(shí)現(xiàn)斗地主洗牌和發(fā)牌
這篇文章主要為大家詳細(xì)介紹了java集合模擬實(shí)現(xiàn)斗地主洗牌和發(fā)牌,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09

