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

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

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

工程
至此,一個(gè) Web 應(yīng)用工程的框架已經(jīng)做好。但是要順利部署到 Tomcat 服務(wù)器,還需要我們添加處理服務(wù)的對(duì)象 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 請(qǐng)求");
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è)置對(duì)外訪問的路徑。
然后在 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ā)送請(qǐng)求的詳細(xì)情況:

發(fā)送請(qǐng)求
完工!
流程很簡(jiǎn)單,以后就可以使用 IDEA 來學(xué)習(xí)后端開發(fā)的基本知識(shí)了,比如可以在后端獲取提交的文件,對(duì)成功的請(qǐng)求進(jìn)行跳轉(zhuǎn),請(qǐng)求失敗時(shí)要告知客戶端等等,都可以進(jìn)行模擬,更多知識(shí)點(diǎn)等你來發(fā)現(xiàn)了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IntelliJ IDEA使用tomcat和jetty配置詳解
這篇文章主要介紹了IntelliJ IDEA使用tomcat和jetty配置詳解,以便進(jìn)一步地開發(fā)和調(diào)試,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-10-10
聊聊maven與jdk版本對(duì)應(yīng)關(guān)系
這篇文章主要介紹了maven與jdk版本對(duì)應(yīng)關(guān)系,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
maven profile自動(dòng)切換環(huán)境參數(shù)的2種方法詳解
這篇文章主要給大家介紹了關(guān)于maven profile自動(dòng)切換環(huán)境參數(shù)的2種方法,文中通過示例代碼將這兩種方法介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
關(guān)于Spring @Bean 相同加載順序不同結(jié)果不同的問題記錄
本文主要探討了在Spring 5.1.3.RELEASE版本下,當(dāng)有兩個(gè)全注解類定義相同類型的Bean時(shí),由于加載順序不同,最終生成的Bean實(shí)例也會(huì)不同,文章通過分析ConfigurationClassPostProcessor的執(zhí)行過程,解釋了BeanDefinition的加載和覆蓋機(jī)制,感興趣的朋友一起看看吧2025-02-02
Mybatis和Mybatis-Plus時(shí)間范圍查詢方式
這篇文章主要介紹了Mybatis和Mybatis-Plus時(shí)間范圍查詢方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-08-08
Google?Kaptcha驗(yàn)證碼生成的使用實(shí)例說明
這篇文章主要為大家介紹了Google?Kaptcha驗(yàn)證碼的使用實(shí)例說明,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-03-03
java實(shí)現(xiàn)socket從服務(wù)器連續(xù)獲取消息的示例
這篇文章主要介紹了java實(shí)現(xiàn)socket從服務(wù)器連續(xù)獲取消息的示例,需要的朋友可以參考下2014-04-04
@PathVariable注解,讓spring支持參數(shù)帶值功能的案例
這篇文章主要介紹了@PathVariable注解,讓spring支持參數(shù)帶值功能的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-02-02

