毛哥的快樂生活 二十一章 讓Servlet理解使用者的需求
本章原始碼:
程式是幹啥的
還記得最開始的程式嗎,無非是輸出。
System.out.println("Hello World");
此時使用者的請求只有一個目標,就是這個程式,輸出也是固定的內容。
但是在現實世界中,使用者的請求,可能是很複雜的。而使用者期望得到的結果,也是個性化的。個性化的結果就來自於個性化的要求。
所以程式就是,接收輸入,理解輸入,計算結果,輸出結果。
OK,如下就是:
public static void main(String[] args) {
//1獲取輸入
Scanner input=new Scanner(System.in);
double num1,num2;
System.out.print("請輸入第1個數字:");
num1=input.nextDouble();
System.out.print("請輸入第2個數字:");
num2=input.nextDouble();
//2理解輸入
//..有什麼好理解的,兩個數字
//3計算結果
double sum=num1+num2;
//4輸出結果
System.out.println(sum);
input.close(); //關閉input
}
Servlet是幹啥的
Servlet乾的事情比較專業一點,就是專門接收使用者透過瀏覽器發出的請求,然後返回結果的。
OK,之前已經瞭解如何輸出了,那麼Servlet如何獲取使用者的請求資訊呢。
毛哥仔細觀察了這個方法:
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();//從響應物件裡面獲取一個PrintWriter,有點像打字機
out.println("<div>In the futurem, you will thank youself for the fighting today</div>");//英語不錯
}
resp是用來向瀏覽器輸出的,那req是幹嘛的?req是HttpServletRequest型別的物件,不就是代表請求嗎。然後輸入req.(會自動提示該物件具備的方法)如下圖:
果然有一個req.getParameter方法,應該就是獲取瀏覽器提交的請求引數的。
瀏覽器的請求引數從何而來
終於走到問題的關鍵了,使用者透過瀏覽器中的動態網頁發起請求,但是引數怎麼傳遞給Servlet呢。
不像Java語言,可以將引數放在函式里。此時就要從日常的觀察中得出一些提示了。
毛哥百度了下servlet,點選百度一下之後,發現瀏覽器位址列變為下面的東西,發現wd=servlet了嗎?
嗯,再試下html,發現瀏覽器位址列變為下面東西,發現wd=html了嗎
%2FC2elkFCpwxAJPOsBFU&rqlang=cn&rsv_enter=0&rsv_sug3=16&rsv_sug1=15&rsv_sug7=100&rsv_sug2=0&inputT=1522&rsv_sug4=1522
也就是說,瀏覽器可以透過在請求地址後面新增引數,將引數傳遞給動態網頁的處理程式。
嘗試傳遞引數
我們在上一章的NoticeSite下面新增一個ParamterReceiveServlet,專案結構如圖:
程式碼如下:
//測試接收引數的Servlet
@WebServlet("/ParamterReceiveServlet")
public class ParamterReceiveServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
//獲取一個名字叫name的瀏覽器輸入引數
String input=req.getParameter("name");
String output="你好:"+input;
//輸出
resp.setContentType("text/html;charset=utf-8");
PrintWriter out = resp.getWriter();
out.println(output);
}
}
重啟伺服器,位址列輸入:,結果如下:
毛哥的暢想
大吉大利,今晚吃雞!
好像眼前所有的障礙都掃除了啊。
現在可以用Servlet接收使用者的輸入,然後透過Java語言動態組裝html字串後返回給使用者。
明天,就可以叫上小范妹子,分工協作,開始研發。
嗯,自己竟然如此優秀,進步之快令人髮指。
努力後的夜晚往往是酐睡。
還有什麼,比奮鬥進取的日子更美麗呢。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/854/viewspace-2821405/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 程式設計師的快樂生活程式設計師
- 打破常規 快樂工作 創意生活
- 認真工作 快樂生活-3個月測試生活小記
- 讓程式設計快樂起來的過程程式設計
- 關於servlet的理解Servlet
- 《演算法的樂趣》,快樂學習演算法,學習貼近生活的演算法演算法
- 盤點QQ上的仙俠小遊戲 如何讓使用者沉迷“修仙”快樂氪金遊戲
- 遊戲的無障礙之戰:讓快樂屬於每個人遊戲
- IceRPC之深入理解排程管道->快樂的RPCRPC
- 需求分析 - 你如何理解使用者痛點
- 交響樂:程式設計師的生活(第一樂章)程式設計師
- 快消品行業的MES需求行業
- 《超級肉肉哥:永恆》GI 評測 8 分:痛並快樂著
- 《親愛的介面:讓使用者樂於使用,愛不釋手》
- 建立快樂的工作環境
- 沐瞳印尼電競負責人:理解並超越使用者需求,讓我們不斷變強
- GPT接入企微應用 - 讓工作快樂起來GPT
- 調查:是什麼讓程式設計師快樂?程式設計師
- 使用Mongoose讓你簡單快樂地上傳檔案Go
- 通過代理的方式讓Spring注入ServletSpringServlet
- Servlet 工作原理解析Servlet
- 二十一章 PHP傳送簡訊PHP
- Linux的痛苦和快樂薦Linux
- 快樂的非專業IT菜鳥
- 快樂數
- 《親愛的介面:讓使用者樂於使用、愛不釋手》小編推介
- 手忙腳亂的快樂 談談Overcooked讓人愛恨交織的多人合作機制
- Snapchat:90%的Snapchat使用者在訪問該社交平臺時感到快樂
- 準確理解需求
- 理解Java Integer的快取策略Java快取
- 生活不只有工作——感謝風變程式設計讓我的生活更精彩程式設計
- 達芬奇密碼 第二十一章密碼
- 全球首個AI手語主播亮相,讓聽障人士平等享受影片帶來的快樂AI
- Struts2 直接訪問Servlet API(二十五)ServletAPI
- THINKPHP 雲哥音樂網Cms系統|社會化音樂分享程式|PHP
- 開發人員準確理解技術需求:使用者想得與說的不一樣
- 【2月英語-topic中快樂的我】
- 學習是一件快樂的事情