【JavaWeb學(xué)習(xí)筆記】從jsp到Servlet提交數(shù)據(jù)(不使用session)

將在學(xué)習(xí)jsp向Servlet傳遞參數(shù)的過程中需要注意的地方總結(jié)如下:

開發(fā)環(huán)境:eclipse(Indigo) 乔询、Tomcat 7.0.56

  • 項(xiàng)目結(jié)構(gòu)
項(xiàng)目結(jié)構(gòu)
  • jsp代碼
  1. 編碼
    為了能夠正常顯示中文,需要做以下編碼格式設(shè)置情妖。
<%@ page language="java" contentType="text/html; charset=utf-8"
   pageEncoding="utf-8"%>
  1. form表單
  • action設(shè)置:action指定所要跳轉(zhuǎn)的Servlet的路徑名旋膳,method指定http請求使用何種方法盅称。
    -- action路徑需要與在web.xml中配置的url-pattern一致奈偏,必要時(shí)需要加上請求的上下文
    -- method常用的方法有兩種:post和get。HttpServlet對兩種請求對應(yīng)的處理方法分別為doPost方法和doGet方法郁油。
    二者區(qū)別如下:
操作 get post
刷新 不會(huì)重復(fù)提交 重復(fù)提交
數(shù)據(jù)長度 2048個(gè)字符 無限制
數(shù)據(jù)類型 ASCII字符 無限制
可見性 URL中可見 URL中不可見
安全性
  • input設(shè)置:這里的name屬性對應(yīng)在parameter的name本股。

完整的form代碼:

<form action="<%=request.getContextPath() %>/LoginServlet" method="post">
用戶名:<input type="text" name="uname"/><br/>
密碼:<input type="password" name="pwd"/><br/>
<input type="submit" value="登錄"/>
<input type="reset" value="重置"/>
</form>
  • Servlet代碼
    需要在doPost方法和doGet方法中完成對應(yīng)的業(yè)務(wù)處理攀痊。
    這里需要注意的幾點(diǎn):
  1. HttpRequest和HttpResponse的編碼設(shè)置要一致。
  2. 要想中文顯示正常拄显,要在獲取到response的printWriter之后再設(shè)置request的編碼苟径。其他順序不清楚可不可以,感興趣的話可以試一下躬审。
  3. 字段parameter名字要和jsp中的name屬性要一致棘街。
  4. 用response的getWriter()方法向屏幕輸出信息,而System.out.println()方法是向eclipse的console控制臺(tái)輸出信息承边。
  5. response的printwriter的println()方法本身不換行遭殉,想換行需要再加上"
    ",或者"
    ",實(shí)現(xiàn)換行的效果博助。
  6. printwriter用完后需要close险污。

完整的doPost()代碼:

@Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        System.out.println("=====進(jìn)入了doPost方法=====");
        resp.setCharacterEncoding("GB18030"); //編碼req和resp要一致,這里用的是GB18030富岳,試了一下utf-8蛔糯,結(jié)果中文亂碼
        String username=req.getParameter("uname"); //字段名字要和jsp中的name屬性一致
        String password=req.getParameter("pwd");
        PrintWriter out=resp.getWriter();
        req.setCharacterEncoding("GB18030");
        out.println("用戶名==》  "+username+"<br>"); //用getWriter()向屏幕輸出信息
        out.println("密碼==》 "+password);  //需要加<br>換行
        out.flush();
        out.close();
    }
  • web.xml配置

這里完成Sevlet的一些配置。

  • servlet中的servlet-class要寫servlet所在的包名和類名窖式。
  • serlet-mapping中的servlet-name和servlet中的servlet-name要一致蚁飒。
  • display-name隨意設(shè)置,url-pattern要和jsp中的action路徑一致萝喘,上面已經(jīng)說明淮逻。

配置代碼如下:

<servlet>
    <description></description>
    <display-name>LoginServlet</display-name>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>com.feng.javawebstudy.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
  </servlet-mapping>

最終頁面效果:

登錄頁面
顯示信息頁面

初學(xué)JavaWeb,哪里不對的地方歡迎大家指正蜒灰!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末弦蹂,一起剝皮案震驚了整個(gè)濱河市肩碟,隨后出現(xiàn)的幾起案子强窖,更是在濱河造成了極大的恐慌,老刑警劉巖削祈,帶你破解...
    沈念sama閱讀 216,692評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翅溺,死亡現(xiàn)場離奇詭異,居然都是意外死亡髓抑,警方通過查閱死者的電腦和手機(jī)咙崎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來吨拍,“玉大人褪猛,你說我怎么就攤上這事「危” “怎么了伊滋?”我有些...
    開封第一講書人閱讀 162,995評論 0 353
  • 文/不壞的土叔 我叫張陵碳却,是天一觀的道長。 經(jīng)常有香客問我笑旺,道長昼浦,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,223評論 1 292
  • 正文 為了忘掉前任筒主,我火速辦了婚禮关噪,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乌妙。我一直安慰自己使兔,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評論 6 388
  • 文/花漫 我一把揭開白布藤韵。 她就那樣靜靜地躺著火诸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪荠察。 梳的紋絲不亂的頭發(fā)上置蜀,一...
    開封第一講書人閱讀 51,208評論 1 299
  • 那天,我揣著相機(jī)與錄音悉盆,去河邊找鬼盯荤。 笑死,一個(gè)胖子當(dāng)著我的面吹牛焕盟,可吹牛的內(nèi)容都是我干的秋秤。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼脚翘,長吁一口氣:“原來是場噩夢啊……” “哼灼卢!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起来农,我...
    開封第一講書人閱讀 38,929評論 0 274
  • 序言:老撾萬榮一對情侶失蹤鞋真,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后沃于,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涩咖,經(jīng)...
    沈念sama閱讀 45,346評論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評論 2 333
  • 正文 我和宋清朗相戀三年繁莹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了檩互。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咨演,死狀恐怖闸昨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤饵较,帶...
    沈念sama閱讀 35,437評論 5 344
  • 正文 年R本政府宣布溉跃,位于F島的核電站,受9級(jí)特大地震影響告抄,放射性物質(zhì)發(fā)生泄漏撰茎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評論 3 326
  • 文/蒙蒙 一打洼、第九天 我趴在偏房一處隱蔽的房頂上張望龄糊。 院中可真熱鬧,春花似錦募疮、人聲如沸炫惩。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,677評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽他嚷。三九已至,卻和暖如春芭毙,著一層夾襖步出監(jiān)牢的瞬間筋蓖,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,833評論 1 269
  • 我被黑心中介騙來泰國打工退敦, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留粘咖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,760評論 2 369
  • 正文 我出身青樓侈百,卻偏偏與公主長得像瓮下,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子钝域,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法讽坏,類相關(guān)的語法,內(nèi)部類的語法例证,繼承相關(guān)的語法路呜,異常的語法,線程的語...
    子非魚_t_閱讀 31,624評論 18 399
  • 1.什么是JSP (1)jsp全稱是Java Server Pages战虏,它和Servlet技術(shù)一樣都是sun公司定...
    yjaal閱讀 3,648評論 5 99
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,810評論 0 11
  • 這部分主要是與Java Web和Web Service相關(guān)的面試題拣宰。 96党涕、闡述Servlet和CGI的區(qū)別? 答...
    雜貨鋪老板閱讀 1,404評論 0 10
  • 一 servlet概述 狹義的Servlet指javax.servlet包中的一個(gè)接口烦感,而廣義的Servlet則是...
    靜慎獨(dú)閱讀 456評論 0 0