Java Web程序设计第3章
更新时间:2023-11-14 15:19:01 阅读量: 教育文库 文档下载
- java推荐度:
- 相关推荐
《Java Web程序设计》课程第3章章节检测
一、选择题:(每题4分,共40分)
1、下面哪个方法用于从ServletContext中检索属性?( C ) A. String getAttribute(int index) B. String getObject(int index)
C. Object getAttribute(String name) D. String getObject(String name)
2、下面哪个方法用来检索ServletContext初始化参数?( C ) A. Object getInitParameter(int index) B. Object getParameter(int index) C. String getInitParameter(String name) D. String getParameter(String name)
3、为Servlet上下文指定初始化参数,下面的web.xml片段哪个是正确的?( D ) A.
C.
D.
4、下面哪个接口或类检索与用户相关的会话对象?( D ) A. HttpServletResponse B. ServletConfig C. ServletContext D. HttpServletRequest
5、给定request是一个HttpServletRequest对象,下面哪两行代码会在不存在会话的情况下创建一个会话?( B )
A. request.getContext() B. request.getSession(true) C. request.getSession(false) C. request.createSession() 6、关于会话属性,下面哪两个说法是正确的?( AD ) A. HttpSession的getAttribute(String name)返回类型为Object B. HttpSession的getAttribute(String name)返回类型为String
C. 在一个HttpSession上调用setAttribute(“keyA”,”valueB”)时,如果这个会话中对应键keyA已经有一个值,就会导致抛出一个异常
D. 在一个HttpSession上调用setAttribute(“keyA”,”valueB”)时,如果这个会话中对应键keyA已经有一个值,则这个属性的原先值会被valueB替换 7、调用下面哪个方法将使会话失效?( A )
A. session.invalidate(); B. session.close(); C. session.destroy(); D. session.end();
8、关于HttpSession对象,下面哪两种说法是正确的?( CD ) A. 会话的超时时间设置为-1,则会话永远不会到期 B. 一旦用户关闭所有浏览器窗口,会话就会立即失效
C. 在部署描述文件中定义的超时时间之后,会话会失效 D. 可以调用HttpSession的invalidateSession()使会话失效
9、给定一个会话对象s,有两个属性,属性名分别为myAttr1和myAttr2,下面哪行(段)代码会把这两个属性从会话中删除?( C ) A. s.removeAllValues(); B. s.removeAllAttributes();
C. s.removeAttribute(“myAttr1”); s.removeAttribute(“myAttr2”);
D s.getAttribute(“myAttr1”,UNBIND); s.getAttribute(“myAttr2”,UNBIND);
10、将下面哪个代码片段插入到doGet()中可以正确记录用户的GET请求的数量?( C ) A. HttpSession session=request.getSession();
int count=session.getAttribute(“count”); session.setAttribute(“count”,count++); B. HttpSession session=request.getSession();
int count=(int)session.getAttribute(“count”); session.setAttribute(“count”,count++); C. HttpSession session=request.getSession();
int count=((Integer)session.getAttribute(“count”)).intValue(); session.setAttribute(“count”,count++); D. HttpSession session=request.getSession();
int count=((Integer)session.getAttribute(“count”)).intValue(); session.setAttribute(“count”,new Integer(++count));
二、简答题:(每题30分,共60分)
1、请实现一个猜数游戏的Servlet。当使用GET请求访问它时,生成一个在0~100之间的随机整数,将其作为一个属性存储到用户的会话对象中,同时提供一个表单供用户输入猜测的数。如果该Servlet接收到一个POST请求,它将比较用户猜的数和随机生成的数是否相等,若相等在响应页面中给出信息,否则,应该告诉用户猜的数是大还是小,并允许用户重新猜。
GameServlet.java package 包名;
import java.io.IOException; import java.io.PrintWriter;
import javax.servlet.ServletException; import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class GameServlet extends HttpServlet { @Override
protected void doGet(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException { response.setContentType(\ PrintWriter out = response.getWriter(); out.println(\ out.println(\
out.println(\游戏页面\ out.println(\ out.println(\
HttpSession session=request.getSession();
out.println(\系统产生了一个1-100之间的随机数,请猜测!
\ if(request.getParameter(\
// double d=Math.random()*100+4;//产生一个双精度型的随机数 // int e=(int)d;//把随机数转化成整型 int e=(int)(Math.random()*100)+4; session.setAttribute(\ int count=0;
session.setAttribute(\设置一个count会话来记录猜测次数 }
else {//此处一定要检验输入数据是否为空,否则抛出异常!
int sysnumber = (java.lang.Integer) session.getAttribute(\// out.println(\系统产生的随机数是:\
Integer guess =Integer.parseInt(request.getParameter(\这一行是把输入数据转化为整型,以便接下来判断
out.println(\你猜测的数字是:\ if(guess int n=((Integer)session.getAttribute(\ n=n+1; session.setAttribute(\ out.println(\你猜的数字偏小!\ } else if(guess>sysnumber){ int n=((Integer)session.getAttribute(\ n=n+1; session.setAttribute(\ out.println(\你猜的数字偏大!\ } else{ int n=((Integer)session.getAttribute(\ n=n+1; session.setAttribute(\ out.println(\style=\\\恭喜你,猜对了!你总共猜了\ out.println(\ } }//end if number!=null out.println(\欢迎你\ //获取登录用户名 +\请输入你猜的数字 + \ + \千万不要尝试输入空值或字符,否则后果自负):\ out.println(\ />\ out.println(\查看结果\\\ out.println(\我不想玩了
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
2、利用Cookie,实现一自动登录程序。
public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws ServletException, IOException {
HttpServletRequest request = (HttpServletRequest) req; HttpSession session = request.getSession(true); String username;
String sessionid; // 此sessionid是上次用户登录时保存于用户端的识别码,用于用户后续访问的自动登录。不是本次访问的session id。
Cookie[] cookies;
CookieManager cm = new CookieManager(); // CookieManager是一个自定义的类,用于从Cookie数组中查找并返回指定名称的Cookie值。 boolean isAutoLogin;
// 如果session中没有user对象,则创建一个。
User user = (User) session.getAttribute(\ if (user == null) {
user = new User(); // 此时user中的username属性为\,表示用户未登录。 }
// 如果user对象的username为\,表示用户未登录。则执行自动登录过程。 // 否则不自动登录。
if (user.getUsername().equals(\
// 检查用户浏览器是否发送了上次登录的用户名和sessionid,
// 如果是,则为用户自动登陆。
cookies = request.getCookies();
username = cm.getCookieValue(cookies, \ sessionid = cm.getCookieValue(cookies, \
isAutoLogin = userSessionDAO.getAutoLoginState(username, sessionid); // 如果在数据库中找到了相应记录,则说明可以自动登录。
if (isAutoLogin) {
user.setUsername(username);
user.setNickname(DBUtil.getNickName(username));
session.setAttribute(\将user bean添加到session中。 } }
chain.doFilter(req, resp); }
正在阅读:
Java Web程序设计第3章11-14
社保费全责征收06-15
食品化学复习题及答案12-08
酸酸甜甜的母爱作文600字06-17
小班上学期自主性游戏观察记录 - 图文04-15
武汉长江大桥的艺术(1)分析10-24
让我感动的历史伟人作文600字05-06
五年级下册英语作文大总结10-26
关于公司班长岗位个人竞聘优秀演讲稿合集08-05
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 程序设计
- Java
- Web
- 公司价值评估方法
- 煤矿支架事故案例
- 调侃语录,这个世界很幽默很现实
- 凤翔县国民经济和社会发展第十二个五年规划纲要
- 热工学名词解释 -
- 年部编人教版八年级上册语文文言文总复习(含答案)
- 检验批资料编制
- 重庆理工大学-大学物理-习题册-稳恒磁场答案
- 2016年生活垃圾填埋场工程项目可行性研究报告完整版
- 2016-2022年中国粮食种子行业现状分析研究报告 - 图文
- 大学语文考试资料(一)
- 预应力混凝土工程施工检验批
- 2018年江苏省苏州市常熟市中考英语一模试卷和答案
- 2013中国石油大学 计算机网络应用基础 第一次在线作业
- 《应用统计学》复习题库
- 七年级语文下册名著导读海底两万里学案1无答案新人教版 - 图文
- 汽车电器与电子技术试卷二
- 信号与系统实验四信号分解与合成实验 - 图文
- 北京市西城区八年级数学 学习·探究·诊断(上册)第十三章 实数
- 4-浅谈我国刑事诉讼中附条件不起诉制度的构建