JavaWeb测试题

news/2024/4/19 13:32:38/文章来源:https://blog.csdn.net/Purple_night_/article/details/129230053

【第四小组】【姓名:郑梦飞】

说明:

  1. 上方【组】填入所在的组,上方【姓名】填入自己的真实姓名。

  1. 答题方式,基于Word文档基础上答题

  1. 编程题可利用工具编程完以后,复制到该文档内。

  1. 答完以后,导成PDF。以姓名.PDF命名。上传至老师指定邮箱。

一、 选择题(共10题,每题2分)

1、Tomcat默认端口号(B)

A) 80

B) 8080

C) 3306

D) 6379

2、 在Servlet中四大作用域不包含(B)

A) request。

B) response

C) session

D) application

3、在Servlet中,当获取到session对象后,下面哪行代码可以销毁session(C)

A) session.clear()

B) session.remove()

C) session.invalidate()

D) session.stop()

4. 在Servlet中,向请求域中设置参数名为name,值为张三的写法(C)

A) response.setAttribute(“name”,”张三”);

  B) response.setAttribute(“张三”,”name”);

  C) request.setAttribute(“name”,”张三”);

  D) request.setAttribute(“张三”,”name”);

5、以下哪个表达式可以产生一个0~7之间(含0,7)的随机整数?(C )

A) Math.floor(Math.random()*6)

  B)Math.floor(Math.random()* 7)

  C) Math.floor(Math.random()*8))

  D) Math.ceil(Math.random()*8)

6、如果需要在JSP页面中引入web根目录下的名为util文件夹中的checkLogin.jsp时,以下代码正确的是(A )

A) <% include file=”util/checkLogin.jsp”%>

B) <%= include file=”util/checkLogin.jsp”%>

C)<%! include file=”util/checkLogin.jsp”%>

D)< include file=”util/checkLogin.jsp”%>

7、使用response对象进行重定向时,使用的方法是(C)

A)getAttribute()

B)setContentType()

C) sendRedirect()

D)setAttribute()

8、以下关于session对象说法错误的是(C)。

A)session对象是用户首次访问服务器时由服务器自动为其创建的

B) 在JSP中可以通过pageContext对象获得session对象

C) 只有访问JSP、Servlet等程序时才会创建session对象

D) 只访问HTML、IMAGE等静态资源并不会创建session对象

9、获取本地所有Cookie的方法是(A)

A)request.getCookies()

B)request.getCookie()

C)response.getCookies()

D)response.getCookies()

10、 servlet中request.getParameter(String)得到的数据,其类型是(C)

A)Double

B)int

C) String

D)Integer

  1. 二、 填空题(共5题,每题2分)

1、在实际编程中,不需要编写service()方法,只需编写相应的___doGet()________和____doPost()________方法。

  1. 2、过滤器执行doFilter( )方法时,会自动获得___过滤器链_________对象,使用该对象的doFilter()方法可继续调用下一级过滤器。

  1. 3、JSP页面的字符编码方式默认是_____ISO8859-1_______________。

  1. 会话跟踪技术有 Cookie Session

  1. 在servlet中,使用HttpServletRequest.setCharacterEncoding("utf-8")设置请求的字符集。

三、 判断题(共5题,每题2分)

1、不能用一个page指令指定多个属性的取值。(F)

2、JSP内置对象是指不用声明就可以在JSP页面的脚本部分使用的对象。(T)

3、session对象的存在期限是指浏览器未关闭之前及默认时间内。(T)

4、过滤器是特殊的Servlet。(T)

5、仅通过pageContext对象不能访问到本页面中所有的其他对象。(T)

四、简答题(共5题,每题4分)

1、 写出JSP的九大内置对象以及其对应的含义。

Requset: request对象是javax.servlet.httpServletRequest类型的对象。

Response:response代表的是对客户端的响应,主要是将JSP容器处理过的对象传回到客户端。response对象也具有作用域,它只在JSP页面内有效。

Session:一个会话中设置的内容,只要与此项目相关的页面都可以访问。关了浏览器就不见了。

Out—JspWriter:向客户端去输出内容。

Page:当前Jsp页面本身,实际上是一个对象,是当前jsp页面转换成.java类的对象。

Application:当前应用。

PageContext:域对象。page对象代表JSP本身,只有在JSP页面内才是合法的

Config:配置,servlet初始化的时候用到的参数,config来获取。

Exception:异常,前提是当前jsp是一个错误页。

2、JSP的include标签和include指令的区别。

从效果上来书没区别。

Include指令是把两个页面合成一个jsp,再编译成.class。

Jsp:include标签是N个JSP页面单独编译.class之后,再进行合并。

3、cookie和session的区别。

Cookie保存在客户端,Session保存在服务端

Cookie如果不设置最大时效,生命周期和session相同,关闭浏览器cookie失效。Session关闭浏览器则失效。Session可以利用cookie和JSESSIONID来持久化存储session,根据JSESSIONID来找到之前创建的。Session,cookie(”JSESSIONID”,session.getId()),

把cookie保存在客户端。

4、JSP和servlet的区别

JSP就是servlet

JSP更加侧重于视图的展示,servlet更加注重逻辑的处理。

5、请求转发与重定向的异同

请求转发是服务器行为、重定向是客户端浏览器行为

请求转发是request对象调用方法、重定向是response对象调用方法

请求转发只有一次请求所以可以实现request域对象中的数据共享,而重定向是多次请求、多次响应

请求转发的效率要高于重定向

请求转发url地址栏不变,而重定向会发生变化

既然请求转发是服务器内部的行为,所以只能访问服务器内部资源!而重定向既然是浏览器行为,地址栏会变,所以可以访问服务器外部资源!

如果既想要实现路径跳转,又需要实现数据共享,使用请求转发!

如果只是纯粹的想要实现路径跳转,我们可以使用重定向!

五、编程题(共2题,每题20分)

1、利用cookie实现7天内自动登录案例。

 <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<script>location.href="index.do";
</script></body>
</html>
 package com.jsoft.test;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;
import java.io.PrintWriter;@WebServlet("/index.do")
public class IndexServlet extends HttpServlet {@Overrideprotected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {Cookie[] cookies = request.getCookies();if(cookies!=null&&cookies.length>0){for (Cookie cookie : cookies) {if(cookie.getName().equals("islogin")&&cookie.getValue().equals("1")){//如果进入此if,说明登陆过!response.sendRedirect("main.html");return;}}}response.sendRedirect("login.html");}
}
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>主页</h1>
</body>
</html>
 package com.jsoft.test;import javax.servlet.*;
import javax.servlet.http.*;
import javax.servlet.annotation.*;
import java.io.IOException;@WebServlet("/login.do")
public class LoginServlet extends HttpServlet {@Overrideprotected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {String username = request.getParameter("username");String password = request.getParameter("password");if(username.equals("admin")&&password.equals("123456")){//登录成功,新建一个cookie并放入到cookieCookie cookie=new Cookie("islogin","1");cookie.setMaxAge(7*24*60*60);response.addCookie(cookie);//登陆成功,跳转到主页response.sendRedirect("main.html");}}
}

2、编写登录案例以及登录过滤器,包含登录以及安全退出功能。

 <!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>Title</title>
</head>
<body>
<h1>登陆成功!</h1></body>
</html>
 package com.jsoft.test.filter;import javax.servlet.*;
import javax.servlet.annotation.*;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import java.io.IOException;
import java.util.Objects;@WebFilter("/success.do")
public class HelloFilter implements Filter {@Overridepublic void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterchain) throws ServletException, IOException {HttpServletRequest request=(HttpServletRequest) servletRequest;HttpServletResponse response=(HttpServletResponse) servletResponse;HttpSession session=request.getSession();Object username=session.getAttribute("username");if(Objects.nonNull(username)){filterchain.doFilter(request,response);return;}response.sendRedirect("login.html");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_74425.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NLP中的对话机器人——预训练基准模型

引言 本文是七月在线《NLP中的对话机器人》的视频笔记&#xff0c;主要介绍FAQ问答型聊天机器人的实现。 场景二 上篇文章中我们解决了给定一个问题和一些回答&#xff0c;从中找到最佳回答的任务。 在场景二中&#xff0c;我们来实现&#xff1a; 给定新问题&#xff0c;从…

基础夯实,字节内部总结240道算法LeetCode刷题笔记,直呼太全

1、什么是算法算法(algorithm&#xff0c;[ˈlɡərɪəm]&#xff0c;计算程序)&#xff1a;就是定义良好的计算过程&#xff0c;他取一个或一组的值为输入&#xff0c;并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤&#xff0c;用来将输入数据转化成输出结…

java spring AOP 完全注解开发

我们先创建一个项目 然后引入java spring aop的依赖 然后 在src下创建目录 我这里 直接就叫 Aop了 下面创建一个User类 参考代码如下 package Aop;import org.springframework.stereotype.Component;Component public class User {public void add(){System.out.println(&qu…

Redis高级-主从复制相关操作

2.1 主从复制简介 2.1.1 高可用 首先我们要理解互联网应用因为其独有的特性我们演化出的三高架构 高并发 应用要提供某一业务要能支持很多客户端同时访问的能力&#xff0c;我们称为并发&#xff0c;高并发意思就很明确了 高性能 性能带给我们最直观的感受就是&#xff1a;速…

Java EE|TCP/IP协议栈之应用层协议DNS详解

文章目录一、对DNS的感性认识简介特点一些常见疑问二、DNSDNS域名结构域名的分级三、域名服务器四、域名解析过程参考一、对DNS的感性认识 简介 DNS&#xff0c;即Domain Name System,是域名系统的简称。它是Internet上解决网上机器命名的一种系统。 TCP/IP中的IP地址是由四…

【蓝桥集训】第七天并查集

作者&#xff1a;指针不指南吗 专栏&#xff1a;Acwing 蓝桥集训每日一题 &#x1f43e;或许会很慢&#xff0c;但是不可以停下来&#x1f43e; 文章目录1.亲戚2.合并集合3.连通块中点的数量有关并查集的知识学习可以移步至—— 【算法】——并查集1.亲戚 或许你并不知道&#…

c语言tips-大端小端存储介绍和使用union判断大小端

1. 大小端介绍 大端&#xff08;Big Endian&#xff09;和小端&#xff08;Little Endian&#xff09;是两种CPU或者计算机系统存储数据的方式。 在大端系统中&#xff0c;数据的高位字节&#xff08;MSB&#xff09;存储在内存地址的低位&#xff0c;低位字节&#xff08;LSB…

【C++】C++入门(下)

引用 什么是引用&#xff1f;   引用是给一个已经存在的变量取一个别名&#xff0c;在语法上并不会给这个别名开一个空间&#xff0c;它和她引用的变量共用一个空间。但是实际上引用也是开了一块空间的&#xff0c;用来存放引用名。引用是按照指针的方式来实现的。引用语法&…

《分布式技术原理与算法解析》学习笔记Day23

分布式数据复制 我们在进行分布式数据存储设计时&#xff0c;通常会考虑对数据进行备份&#xff0c;以提高数据的可用性和可靠性&#xff0c;“数据复制技术”就是实现数据备份的关键技术。 什么是数据复制技术&#xff1f; 在分布式数据库系统中&#xff0c;通常会设置主备…

华为OD机试用Python实现 -【统一限载货物数最小值】(2023-Q1 新题)

华为OD机试题 华为OD机试300题大纲统一限载货物数最小值题目描述输入描述输出描述说明示例一输入输出说明示例二输入输出说明Python 代码实现算法逻辑华为OD机试300题大纲 参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。 华为 OD 清单查…

python爬虫常见错误

python爬虫常见错误前言python常见错误1. AttributeError: WebDriver object has no attribute find_element_by_id1. 问题描述2. 解决办法2. selenium&#xff1a;DeprecationWarning: executable_path has been deprecated, please pass in1. 问题描述2. 解决办法3. 下载了包…

k8s-资源限制-探针检查

文章目录一、资源限制1、资源限制的使用2、reuqest资源&#xff08;请求&#xff09;和limit资源&#xff08;约束&#xff09;3、Pod和容器的资源请求和限制4、官方文档示例5、资源限制实操5.1 编写yaml资源配置清单5.2 释放内存&#xff08;node节点&#xff0c;以node01为例…

《程序员思维修炼》速读笔记

文章目录书籍信息概览绪论从新手到专家的历程认识大脑利用右脑调试大脑主动学习积累经验控制注意力超越专家图解书籍信息 书名&#xff1a;《程序员思维修炼&#xff08;修订版&#xff09;》 作者&#xff1a;[美] Andy Hunt 概览 绪论 再提“实用”关注情境所有人都关注这…

Flutter3引用原生播放器-IOS(Swift)篇

前言由于Flutter项目中需要使用到播放器功能&#xff0c;因此对flutter中各种播放器解决方案进行了一番研究和比对&#xff0c;最后决定还是自己通过Plugin的方法去引用原生播放器符合自己的需求&#xff0c;本篇文章会对各种解决方案做一个简单的比较&#xff0c;以及讲解一下…

线材-电子线载流能力

今天来讲的是关于电子线的一个小知识&#xff0c;可能只做板子的工程师遇到此方面的问题会比较少&#xff0c;做整机的工程师则必然会遇到此方面问题&#xff0c;那就是线材问题。 下面主要说下电子线的过电流能力。&#xff08;文末有工具下载&#xff09;电子线&#xff08;h…

[11]云计算|简答题|案例分析|云交付|云部署|负载均衡器|时间戳

升级学校云系统我们学校要根据目前学生互联网在线学习、教师教学资源电子化、教学评价过程化精细化的需求&#xff0c;计划升级为云教学系统。请同学们根据学校发展实际考虑云交付模型包含哪些&#xff1f;云部署采用什么模型最合适&#xff1f;请具体说明。9月3日买电脑还是租…

@Value注解的使用(可用于配置文件)

基本概念Value&#xff1a;注入配置文件中的内容。只要是spring的注解类&#xff08;service,compotent, dao等&#xff09;中都可以。Component&#xff1a;泛指组件&#xff0c;当组件不好归类的时候&#xff0c;可以使用这个注解进行标注。AutoWired&#xff1a;自动导入依赖…

Jinja2----------模板渲染、模板访问对象属性

目录 1.Jinja2 1.简介 2.Jinja2模板 2.模板渲染 app.py templates/index.html templates/blog_detail.html 效果 3.模板访问对象属性 app.py templates/index.html 效果 1.Jinja2 1.简介 Jinja2是Python下一个被广泛应用的模版引擎&#xff0c;他的设计思想来…

二叉树的前序遍历-java两种方式-力扣144

一、题目描述给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。示例 1&#xff1a;输入&#xff1a;root [1,null,2,3]输出&#xff1a;[1,2,3]示例 2&#xff1a;输入&#xff1a;root []输出&#xff1a;[]示例 3&#xff1a;输入&#xff1a;root [1]输出…

【Linux驱动开发100问】什么是模块?如何编写和使用模块?

&#x1f947;今日学习目标&#xff1a;什么是Linux内核&#xff1f; &#x1f935;‍♂️ 创作者&#xff1a;JamesBin ⏰预计时间&#xff1a;10分钟 &#x1f389;个人主页&#xff1a;嵌入式悦翔园个人主页 &#x1f341;专栏介绍&#xff1a;Linux驱动开发100问 什么是模块…