前言
本文包含request內(nèi)置對象的使用、亂碼處理的兩種方法、使用request.getparamter()方法獲取表單提交的數(shù)據(jù)、采用request對象通過getparameter()方法和getparametervalues()方法獲取表單請求數(shù)據(jù)、使用request內(nèi)置對象時,注意類型轉(zhuǎn)換、空指針異常。
實(shí)驗(yàn)要求1
設(shè)計(jì)并實(shí)現(xiàn)一個用戶登錄的過程,其中l(wèi)ogin.jsp頁面提供一個表單,用于用戶輸入相應(yīng)的用戶名和密碼進(jìn)行登錄,表單提交至checklogin.jsp頁面,checklogin.jsp用于登錄驗(yàn)證,檢查用戶名和密碼是否正確,如果用戶輸入用戶名computer,密碼jsp后,則使用用動作標(biāo)記跳轉(zhuǎn)到success.jsp頁面,否則,跳轉(zhuǎn)到fail頁面。
實(shí)驗(yàn)代碼
login.jsp
<%@ page language="java" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> 用戶登錄
用戶登錄 | |
---|---|
用戶名 | |
密碼 | |
checklogin.jsp
<%@ page language="java" import="java.util.*" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> <% string user = request.getparameter("names"); string password = request.getparameter("password"); if(user.equals("computer")){ if(password.equals("jsp")){ %> <% }else{ %> <% } }else{ %> <% } %>
success.jsp
<%@ page language="java" import="java.util.*" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> successsuccess!
fail.jsp
<%@ page language="java" import="java.util.*" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> successfail!
實(shí)驗(yàn)截圖
實(shí)驗(yàn)要求2
編寫一個jsp頁面input.jsp,該頁面提供一個表單,用戶通過表單輸入兩個整數(shù),及四則運(yùn)算符號,提交表單至count.jsp頁面,該頁面負(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" %> 簡單計(jì)算器 body { background-color: yellow; }輸入運(yùn)算數(shù)、選擇運(yùn)算符號:
+ - * /
count.jsp
<%@ page language="java" import="java.util.*" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> 計(jì)算結(jié)果 body { background-color: yellow; }計(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)); } %>
實(shí)驗(yàn)截圖
實(shí)驗(yàn)要求3
亂碼問題:編寫兩個jsp頁面,分別是question.jsp和answer.jsp
要求在question.jsp頁面里利用表單,提供如下頁面,提交表單至answer.jsp頁面,在answer.jsp頁面實(shí)現(xiàn)判斷用戶回答是否正確。
實(shí)驗(yàn)代碼
question.jsp
<%@ page language="java" import="java.util.*" contenttype="text/html; charset=utf-8" pageencoding="utf-8" %> 問題頁面 body { background-color: pink; } h2 { color: blue; }小說圍城的作者是:
a.錢鐘書 b.海巖 c.路遙 d.韓寒你意愿的工作城市:
a.北京 b.天津 c.上海 d.黃驊請輸入姓名:
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" %> 回答結(jié)果 body { background-color: #90bbde; }<% string str = request.getparameter("a"); string strtemp = new string(str.getbytes("iso-8859-1"),"utf-8"); system.out.print(strtemp); string temp = new string("錢鐘書".getbytes("iso-8859-1"),"utf-8"); if(strtemp.equals("錢鐘書")){ string name1 =request.getparameter("name"); string nametemp = new string(name1.getbytes("iso-8859-1"),"utf-8"); %> 恭喜你, <%= nametemp %> 回答正確,加兩分! <% }else{ %> 很遺憾,回答錯誤! <% } string[] strb=request.getparametervalues("b"); %> 你意愿的工作有 <%= strb.length %>個,分別是: <% for(int i=0;i
實(shí)驗(yàn)截圖
- jsp+servlet實(shí)現(xiàn)文件上傳與下載功能
- EJB3.0部署消息驅(qū)動Bean拋javax.naming.NameNotFoundException異常
- 在JSP中使用formatNumber控制要顯示的小數(shù)位數(shù)方法
- 秒殺系統(tǒng)Web層設(shè)計(jì)的實(shí)現(xiàn)方法
- 將properties文件的配置設(shè)置為整個Web應(yīng)用的全局變量實(shí)現(xiàn)方法
- JSP使用過濾器防止Xss漏洞
- 在JSP頁面中動態(tài)生成圖片驗(yàn)證碼的方法實(shí)例
- 詳解JSP 內(nèi)置對象request常見用法
- 使用IDEA編寫jsp時EL表達(dá)式不起作用的問題及解決方法
- jsp實(shí)現(xiàn)局部刷新頁面、異步加載頁面的方法
- Jsp中request的3個基礎(chǔ)實(shí)踐
- JavaServlet的文件上傳和下載實(shí)現(xiàn)方法
- JSP頁面的靜態(tài)包含和動態(tài)包含使用方法