Jsp中request的3個(gè)基礎(chǔ)實(shí)踐
前言
本文包含request內(nèi)置對(duì)象的使用、亂碼處理的兩種方法、使用request.getParamter()方法獲取表單提交的數(shù)據(jù)、采用request對(duì)象通過(guò)getParameter()方法和getParameterValues()方法獲取表單請(qǐng)求數(shù)據(jù)、使用request內(nèi)置對(duì)象時(shí),注意類(lèi)型轉(zhuǎn)換、空指針異常。
實(shí)驗(yàn)要求1
設(shè)計(jì)并實(shí)現(xiàn)一個(gè)用戶登錄的過(guò)程,其中l(wèi)ogin.jsp頁(yè)面提供一個(gè)表單,用于用戶輸入相應(yīng)的用戶名和密碼進(jìn)行登錄,表單提交至checklogin.jsp頁(yè)面,checklogin.jsp用于登錄驗(yàn)證,檢查用戶名和密碼是否正確,如果用戶輸入用戶名computer,密碼jsp后,則使用用<jsp:forward>動(dòng)作標(biāo)記跳轉(zhuǎn)到success.jsp頁(yè)面,否則,跳轉(zhuǎn)到fail頁(yè)面。
實(shí)驗(yàn)代碼
login.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>用戶登錄</title> </head> <body> <br/> <form action="checklogin.jsp" method="POST" target="_blank"> <table border="1" width="500px" align="center"> <th colspan="2">用戶登錄</th> <tr> <td>用戶名</td> <td><input type="text" name="names" /></td> </tr> <tr> <td>密碼</td> <td> <input type="password" name="password" /></td> </tr> <tr> <td><input type="submit" value="提交" /></td> <td><input type="reset" value="重置" /></td> </tr> </table> </form> </body> </html>
checklogin.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head></head> <body> <% String user = request.getParameter("names"); String password = request.getParameter("password"); if(user.equals("computer")){ if(password.equals("jsp")){ %> <jsp:forward page="./success.jsp"></jsp:forward> <% }else{ %> <jsp:forward page="./fail.jsp"></jsp:forward> <% } }else{ %> <jsp:forward page="./fail.jsp"></jsp:forward> <% } %> </body> </html>
success.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>success</title> </head> <body> <h1>success!</h1> </body> </html>
fail.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>success</title> </head> <body> <h1>fail!</h1> </body> </html>
實(shí)驗(yàn)截圖
實(shí)驗(yàn)要求2
編寫(xiě)一個(gè)JSP頁(yè)面input.jsp,該頁(yè)面提供一個(gè)表單,用戶通過(guò)表單輸入兩個(gè)整數(shù),及四則運(yùn)算符號(hào),提交表單至count.jsp頁(yè)面,該頁(yè)面負(fù)責(zé)根據(jù)選擇的運(yùn)算符計(jì)算出結(jié)果。
實(shí)驗(yàn)代碼
input.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>簡(jiǎn)單計(jì)算器</title> <style> body { background-color: yellow; } </style> </head> <body> <form action="count.jsp" method="POST"> <h2>輸入運(yùn)算數(shù)、選擇運(yùn)算符號(hào):</h2> <input type="text" name="a" /> <select size='1px' name="b" /> <option>+</option> <option>-</option> <option>*</option> <option>/</option> </select> <input type="text" name="c" /> <br/> <br/> <input type="submit" value="運(yùn)行結(jié)算結(jié)果" /> </form> </body> </html>
count.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>計(jì)算結(jié)果</title> <style> body { background-color: yellow; } </style> </head> <body> <h2>計(jì)算結(jié)果: <% String stra=request.getParameter("a"); String strb=request.getParameter("b"); String strc=request.getParameter("c"); float fa = Float.parseFloat(stra); float fc = Float.parseFloat(strc); System.out.print(strb); if(strb.equals("+")){ out.print(fa+strb+fc+"="+(fa+fc)); }else if(strb.equals("-")){ out.print(fa+strb+fc+"="+(fa-fc)); }else if(strb.equals("*")){ out.print(fa+strb+fc+"="+(fa*fc)); }else{ out.print(fa+strb+fc+"="+(fa/fc)); } %> </h2> </body> </html>
實(shí)驗(yàn)截圖
實(shí)驗(yàn)要求3
亂碼問(wèn)題:編寫(xiě)兩個(gè)JSP頁(yè)面,分別是question.jsp和answer.jsp
要求在question.jsp頁(yè)面里利用表單,提供如下頁(yè)面,提交表單至answer.jsp頁(yè)面,在answer.jsp頁(yè)面實(shí)現(xiàn)判斷用戶回答是否正確。
實(shí)驗(yàn)代碼
question.jsp
<%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>問(wèn)題頁(yè)面</title> <style> body { background-color: pink; } h2 { color: blue; } </style> </head> <body> <form action="answer.jsp" method="POST"> <h2> 圍城的作者是:</h2> <input type="radio" name="a" value="錢(qián)鐘書(shū)">A.錢(qián)鐘書(shū) <input type="radio" name="a" value="海巖">B.海巖 <input type="radio" name="a" value="路遙">C.路遙 <input type="radio" name="a" value="韓寒">D.韓寒 <br> <h2>你意愿的工作城市:</h2> <input type="checkbox" name="b" value="北京">A.北京 <input type="checkbox" name="b" value="天津">B.天津 <input type="checkbox" name="b" value="上海">C.上海 <input type="checkbox" name="b" value="黃驊">D.黃驊 <br> <h2>請(qǐng)輸入姓名:</h2> <input type="text" name="name"> <input type="submit" value="提交驗(yàn)證"> </form> </body> </html>
answer.jsp
<%@page import="javax.servlet.annotation.HandlesTypes"%> <%@page import="java.util.Enumeration"%> <%@ page language="java" import="java.util.*" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <html> <head> <title>回答結(jié)果</title> <style> body { background-color: #90bbde; } </style> </head> <body> <h2> <% String str = request.getParameter("a"); String strtemp = new String(str.getBytes("iso-8859-1"),"UTF-8"); System.out.print(strtemp); String temp = new String("錢(qián)鐘書(shū)".getBytes("iso-8859-1"),"UTF-8"); if(strtemp.equals("錢(qián)鐘書(shū)")){ String name1 =request.getParameter("name"); String nametemp = new String(name1.getBytes("iso-8859-1"),"UTF-8"); %> 恭喜你, <%= nametemp %> 回答正確,加兩分! <% }else{ %> 很遺憾,回答錯(cuò)誤! <% } String[] strb=request.getParameterValues("b"); %> <br> 你意愿的工作有 <%= strb.length %>個(gè),分別是: <% for(int i=0;i<strb.length;i++){ String strbtemp = new String(strb[i].getBytes("iso-8859-1"),"UTF-8"); out.print(" "+strbtemp); } %> </h2> </body> </html>
實(shí)驗(yàn)截圖
上一篇:servlet+jsp實(shí)現(xiàn)過(guò)濾器 防止用戶未登錄訪問(wèn)
欄 目:JSP編程
下一篇:jsp實(shí)現(xiàn)登錄驗(yàn)證的過(guò)濾器
本文標(biāo)題:Jsp中request的3個(gè)基礎(chǔ)實(shí)踐
本文地址:http://mengdiqiu.com.cn/a1/JSPbiancheng/11423.html
您可能感興趣的文章
- 01-11在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- 01-11jsp文件下載功能實(shí)現(xiàn)代碼
- 01-11JSP頁(yè)面跳轉(zhuǎn)方法大全
- 01-11jsp 使用request為頁(yè)面添加靜態(tài)數(shù)據(jù)的實(shí)例
- 01-11JSP servlet實(shí)現(xiàn)文件上傳下載和刪除
- 01-11SpringMail使用過(guò)程中的報(bào)錯(cuò)解決辦法
- 01-11JSP狀態(tài)管理的簡(jiǎn)單介紹
- 01-11jsp+servlet實(shí)現(xiàn)文件上傳與下載功能
- 01-11JSP的setProperty的使用方法
- 01-11jsp中sitemesh修改tagRule技術(shù)分享


閱讀排行
- 1C語(yǔ)言 while語(yǔ)句的用法詳解
- 2java 實(shí)現(xiàn)簡(jiǎn)單圣誕樹(shù)的示例代碼(圣誕
- 3利用C語(yǔ)言實(shí)現(xiàn)“百馬百擔(dān)”問(wèn)題方法
- 4C語(yǔ)言中計(jì)算正弦的相關(guān)函數(shù)總結(jié)
- 5c語(yǔ)言計(jì)算三角形面積代碼
- 6什么是 WSH(腳本宿主)的詳細(xì)解釋
- 7C++ 中隨機(jī)函數(shù)random函數(shù)的使用方法
- 8正則表達(dá)式匹配各種特殊字符
- 9C語(yǔ)言十進(jìn)制轉(zhuǎn)二進(jìn)制代碼實(shí)例
- 10C語(yǔ)言查找數(shù)組里數(shù)字重復(fù)次數(shù)的方法
本欄相關(guān)
- 01-11web下載文件和跳轉(zhuǎn)的方法
- 01-11Spring注入Date類(lèi)型的三種方法總結(jié)
- 01-11在JSP中使用formatNumber控制要顯示的小
- 01-11Properties 持久的屬性集的實(shí)例詳解
- 01-11EJB3.0部署消息驅(qū)動(dòng)Bean拋javax.naming.Na
- 01-11jsp文件下載功能實(shí)現(xiàn)代碼
- 01-11JSP頁(yè)面跳轉(zhuǎn)方法大全
- 01-11詳解Spring的核心機(jī)制依賴注入
- 01-11jsp 使用request為頁(yè)面添加靜態(tài)數(shù)據(jù)的實(shí)
- 01-11Spring獲取ApplicationContext對(duì)象工具類(lèi)的
隨機(jī)閱讀
- 08-05DEDE織夢(mèng)data目錄下的sessions文件夾有什
- 01-10C#中split用法實(shí)例總結(jié)
- 01-10SublimeText編譯C開(kāi)發(fā)環(huán)境設(shè)置
- 01-10delphi制作wav文件的方法
- 01-10使用C語(yǔ)言求解撲克牌的順子及n個(gè)骰子
- 01-11ajax實(shí)現(xiàn)頁(yè)面的局部加載
- 01-11Mac OSX 打開(kāi)原生自帶讀寫(xiě)NTFS功能(圖文
- 08-05dedecms(織夢(mèng))副欄目數(shù)量限制代碼修改
- 08-05織夢(mèng)dedecms什么時(shí)候用欄目交叉功能?
- 04-02jquery與jsp,用jquery