1、下列选项不是动态网站开发技术的是(C)。
A. ASP B. PHP C. CSS D. JSP
2、在一个动态网站项目中,可以放置一些外部类库的地方是(B)。
A. /WEB-INF/Iib 放置已经编译的类文件
B. /WEB-INF/lib 放置 jar 文件
C. /META-INF/lib 放置 jar 文件
D. /classes 放置已经编译的类文件
3、关于JavaBean,下列的叙述哪一项是不正确的?(A)。
A. JavaBean和Servlet一样,使用之前必质在项目的web.xml中注册
B. JavaBean的类必须是具体的和公共的,并且具有无参数的构造器
C. JavaBean属性和表单控件名称能很好地耦合,得到表单提交的参数
D. JavaBean的类属性是私有的,要遇过公共方法进行访问
注:JavaBean的使用不需要在web.xml中进行注册,而是通过在代码中实例化和使用。
4、下面的哪个选项不能实现页面的跳转(C)。
A.
B.
C.
D. <%response.sendRedirect (testurl");%>
注:在JSP中,jsp:redirect 标签是不存在的,因此选项 C 是不能实现页面的跳转的。
5、关于Struts 2框架的说法正确的是(C)。
A. 不同的Action其返回值类型不会相同
B. 只要导入Struts2的核心包,不同做任何配置便可直接使用
C. Struts 2框架的核心是Action
D. Struts 2框架不能实规MVC模式
6、MySQL数据库默认的内置管理账户是(A)。
A、root B、Guest C、Admin D、User
7、以下那一个是 HttpSession 的方法,并能实现在 session 中存放数据?。(D)
A. putAttribute(String name. Object value)
B. put(String name. Object value)
C. set(String name. Object value)
D. setAttribute(String name. Object value)
8、
A. var
B. collection
C. varStatus
D. items
详情请见
9、下列的变量声明在(C)范围内有效。
<%!Date dateTime; int countNum;%>
A. 从定义开始处有效,客户之间不共享
B. 在整个页面内有效,客户之间不共享
C. 在整个页面内有效,被多个客户共享
D. 从定义开始处有效,被多个客户共享
注:<%!”和“ %>”之间声明的变量在整个jsp页面内部有效
10、Ajax异步请求主要是通过以下JavaScript哪个对象实现的?(D)
A. Reques
B. RequestScope
C. httpRequest
D. XMLHttpRequest
11、关于Ajax异步请求的说法错误的是(C)。
A. 异步请求可以通过JQuery方式卖观
B. 异步请求可以通过编写JavaScript脚本代码实现
C. 异步请求的触发事件只能是表单中type值为submit的
12、Servlet 3.0中要实现对文件上传的支持,必须添加哪个注解?(B)。
A. @RequestMapping
B. @MultipartConfig
C. @WebFileter
D. @WebinitParam
13、以下方法中,哪个选项中的方法可使session无效?(B)
A. session.removeAttribute(String key)
B. session.invalidate()
C. session.setAttribute(String key)
D. session.getAttribute (String key)
14、下列(B)内置对象经常用来制作网页计数器。
A. Request
B. Applicantion
C. Session
D. Response
15、在客户端浏览器的源代码中可以看到(B)。
A. JSP注释
B. HTML注释
C. JAVA注释
D. JSP注释和HTML注释
注: 可以看到
<%-- JSP注释 --> 看不到
/* */ // java注释更加看不到
16、在传统的HTML页面中加入( B )就构成了一个JSP页面文件。
A. 用“<%”、“%>”标记符号括起来的程序
B. JAVA程序片和JSP标签
C. JSP标签
D. JAVA程序片
17、当多个用户请求同一个JSP页面时,Tomcat服务器为每个客户启动一个( C )
A. 程序
B. 服务。
C. 线程
D. 进程
18、对于ServletRequest接口获取请求参数的方法的描述正确的是( B )。
A. getParameter方法只用于接收POST请求参数,接收GET请求参数需要使用getQueryString方法。
B. 如果一个参数key有多个值,那么getParameterValues(key)方法会返回一个包含所有值的字符串数组。
C. getParameter方法返回Object对象,使用前要强制类型转换。
D. 如果一个参数key有多个值,那么getParameter(key)方法会返回null。
19、以下关于JavaBeans的说法中,错误的是( D )。
A. JavaBean是一种特殊的Java类。
B. JavaBean是基于JAVA语言的。
C. JavaBean是一个可重复使用的软件组件
D. JavaBean是JSP的内置对象之一。
20、在JSP技术的Web开发中,关于Excel操作错误的是?( B )。
A. 导入Excel模板文件中的数据到数据库属于Excel的读操作。
B. POI操作Excel只能操作2007年以前的版本。
C. 检索出来的结果集导出为Excel文件属于Excel的写操作。
D. 操作Excel可以使用Apache基金会的POI子项目完成。
21、以下关于Servlet的说法正确的是( B )
A. Servlet不能对文件进行读写操作
B. Servlet可以获取用户的session会话
C. Servlet不能获取用户的session会话
D. Servlet不能对数据库表进行操作
22、在最新版本的Eclipse中,在创建的Web项目的目录结构中,一般把jsp和html文件放在( D )下。
A.src/main/java目录下
B./WEB-INF/lib 目录下
C./META-INF目录下
D. webapp目录下
23、在一个动态网站工程项目中,可以放置一些外部类库的地方是( D )。
A. /WEB-INF/lib 放置已经编译的类文件
B. /classes 放置已经编译的类文件
C. /META-INF/lib 放置 jar 文件
D. /WEB-INF/lib 放置 jar 文件
24、能在浏览器的地址栏中看到提交数据的表单提交方式的是( D )。
A. submit
B. post
C. out
D. get
25、用来在网页中显示图形的html标记为( A )。
A.
B.
26、给出了如下的SQL语句字符串String SQL="insert table values(?,?,?,?)";下列哪个接口适合执行该SQL语句( B )。
A. CallableStatement
B. PrepareStatement
C. Statement
D. 均不能执行
27、关于过滤器和监听器下列说法错误的是( A )。
A、过滤器通过继承Filter类实现
B、一个Web系统可以有多个过滤器
C、Web系统可以没有过滤器
D、监听器可以监视Web系统的执行状况
28、用来在浏览器标题栏中显示标题的html标记为( D )。
A.
29、以下脚本元素中有语法错误的是( D )
A. <% int i=0;%>
B. <%! int i=0;%>
C. <%i++;%>
D. <%=i;%>
注:A和C是脚本小程序
B是声明(一般情况下,声明的对象只在当前页面中起作用)
D是表达式(<%=这3个字符之间不能有空格,表达式后不能有分号)
30、给出如下的SQL语句字符串String SQL="insert table values(?,?,?,?)";下列哪个接口适合执行该SQL语句( B )
A. CallableStatement
B. PrepareStatement
C. Statement
D. 均不能执行
注:如果在sql语句中有使用占位符的话,则需要预先处理。
1、input表单域表示一个文件选择框时,它的type属性应该赋值为 file。
2、在一个Web系统的设计中,如果要实现页面转发和页面重定向使用的方法分别是forward()
和sendRedirect()
。
3、部署Servlet的两种方法分别是在web.xml中部署、基于注解的方式。
4、input表单项表示一个表单提交按钮时,它的type属性应该赋值为 submit
5、要想在JSP页面中使用Bean,必须首先使用
6、表单属性中对表单提交后处理方法进行指定和对提交方式进行指定的属性分别是 action 、method 方法。
7、程序描述:现需要在表单中输入用户名和密码,提交到Servlet中,在Servlet中获取从表单得到的数据,然后封装到Bean对象中,再调用业务处理类,完成登录验证判断,请根据代码上下文关系补全横线处的代码,答案直写在横线上。
1、表单代码补全:
Admin_User au1=new Admin_User();
au1.setAdmin_name(name);
au1.setAdmin_pwd(pwd);
UserCheck uc=new UserCheck();
if(uc.validate( au1 )) {
session.setAttribute("adminName", name);
request.setAttribute("au1", au1);
RequestDisPatcher dis=request.getRequestDispatcher("index.jsp");
dis.forward(request, response);
}
else {
out.print("");
}
}
}
8、Ajax异步请求返回处理结果的两种形式分别是 Xml 和 text
9、Servlet在一个生命周期中调用的三个方法分别是init()、service() 和 destroy()。
10、JavaBean的4中作用域中,在整个会话期间有效的作用域是 session,在一次请求期间有效的作用域是 request。
11、Struts 2和SpringMVC框架的核心分别是 action 和 DisPatcherServlet 主控制器。
12、在JSP中,为内置对象定义的四个作用域范围分别是 pageScope 、sessionScope 、requestScope 和 ApplicationScope
13、在进行异步请求时,只有当xmiHttpRequest对象的readyState属性值为 4,status值为 200 时才能获得正确的请求信息。
14、在一个Web系统设计中,如果要实现页面转发和页面重定向使用方法分别是 forward() 和 sendRedirect()
15、Web应用中的B/S具体是指 客户端浏览器 和服务器端 两个层面
16、MySQL数据库安装时默认的端口号是 3306,当要连接MySQL数据库时,Class.forName()中需要填写的类名字符串是 "com.mysql.jdbc.Driver"
17、编写3个JSP页面login_1.jsp、server.jsp和loginSuccess.jsp。在页面login_1.jsp中输入用户名和密码,单击“提交”按钮将输入的信息提交给页面server.jsp。在server.jsp页面中进行登录验证:如果输入正确(用户名“zhangsan”,密码“123”),提示“成功登录,3秒钟后进入loginSuccess.jsp页面”,如果输入不正确,重新定向到login_1.jsp页面。请阅读如下代码,补全横线处的代码。
1、参考表单代码如下:
if("zhangsan".equals(name) && "123".equals(password)){
out.print("成功登录,3秒钟后进入loginSuccess.jsp页面");
response.setHeader("refresh", "3;url=loginSuccess.jsp"");
return;
}else{
response.sendRedirect("login_1.jsp");
}
%>
1、动态网站就是网页中含有动画和动图的网站。 ×
2、应用程序分页显示记录集时,不宜在每页都重新连接和打开数据库。 √
3、使用框架需要配置,配置成功后框架能显著提高Web系统的开发效率。 √
4、使用数据库连接池需要烦琐的配置,一般不宜使用。 ×
5、JSP的局部刷新是通过Javascript的内置对象实现的。 √
6、一个JSP文件本质上就是一个Servlet。 √
7、不可以用一个page指令指定多个属性的取值。 ×
8、session对象是HttpSession接口类的实例,由客户端负责创建和销毁,所以不同客户的session对象不同。 √
9、JavaBean的属性必须声明为private,方法必须声明为public访问类型。 √
10、一般用JSP来实现业务逻辑,用Servlet来处理页面显示。 ×
11、在“<%”和“%>”标记之间声明的Java的方法在整个页面内有效。 ×
12、网页中只要使用gb2312编码就不会出现中文乱码。 √
13、doGet()和doPost()方法分别处理客户端GET和POST方式发送的请求。 √
14、从服务器端给客户端发送消息应用Request对象,从客户端给服务器端提交请求应用Response对象。 ×
15、EL表达式和JSTL就是用来替换html代码的。 ×
16、转发的功能是将用户对当前JSP页面或Servlet的请求转发给另一个JSP页面或Servlet。 √
17、session对象可以用来保存用户会话期间需要保存的数据信息。 √
18、绝对路径是文件名的完整路径;相对路径是指相对当前网页文件名的路径。 √
19、导出查询的结果集到Excel文件,属于Excel的读操作。 ×
20、Tomcat和JDK都不是开源的项目。 ×
1、简要回答一个jsp页面主要由哪几个部分组成?
- HTML页面标签:这是用来构建页面结构的HTML代码。
- 指令:指令是用来定义整个页面的相关信息,例如页面的字符集编码等。指令格式为
<%@指令名 属性名=”值”%>
。- 表达式:表达式是用于在JSP页面中进行数据绑定和计算的,例如获取请求参数、数据库查询结果等。表达式的格式为
<%=表达式%>
。- 代码片段:代码片段是在JSP页面中嵌入的Java代码,可以用来处理复杂的业务逻辑。代码片段的格式为
<%java代码%>
。- 声明:声明是定义类成员的地方,其格式为
<%! 类成员 %>
。- 注释:注释是用来解释代码或者提供其他信息的一种方式,其格式为
<%-- jsp注释内容 --%>
。- 动作:动作是JSP页面中执行特定任务的标签,如包含其他文件、导入Java包等。动作的格式为
。
2、简要回答常用的会话跟踪技术有哪些?各自的特点是什么?
- URL重写:这种方法是在URL结尾添加一个附加数据来标识该会话,把会话id通过URL的信息传递过去,以便在服务端进行识别不同的用户。
- 隐藏表单域:这种方式将会话id添加到HTML中提交到服务器,此表单不在客户端显示。
- Cookie:Cookie是Web服务器发送给客户端的信息,客户请求时可以读取该信息发送到服务器端,从而进行用户的识别。对于客户端的每次请求,服务器都会将cookie发送到客户端,在客户端可以进行保存,以便下次使用。
- Session:Session是一种在服务器端存储用户信息的机制,可以将用户信息存储在服务器端的数据库或文件中。当用户访问服务器时,服务器会根据SessionID来获取用户信息。
各种跟踪技术各有特点。例如,URL重写技术易于实现,但可能影响用户体验;隐藏表单域不会影响用户体验,但可能对SEO不友好;Cookie大小限制和数量限制可能会影响其存储和使用;Session依赖于服务器资源,可能会影响服务器性能。
3、简要回答Cookie技术的局限性主要包括哪些方面?
- 首先,Cookie可能被用户禁用或者删除。当用户禁用了Cookie时,网站将无法读取到存储在客户端的信息,这可能导致某些功能的失效。同时,用户也可能会手动删除Cookie,导致网站无法跟踪用户的状态。
- 其次,Cookie与浏览器相关,不同的浏览器之间不能互相访问。也就是说,如果用户更换了浏览器,之前保存在旧浏览器中的Cookie将无法被新浏览器读取。
- 再次,Cookie的安全性问题不能忽视。虽然Cookie中的数据可以被加密,但如果黑客获取到了用户的Cookie信息,他们可以模拟用户的身份进行操作,给用户带来安全风险。
- 另外,每个特定的域名下最多生成20个Cookie,并且存储空间很小(只有4–10KB左右)。这意味着它只能存储有限的信息,对于需要存储大量数据的应用来说并不适合。
- 最后,Cookie存在数量和大小的限制。每个域名下最多只能有20个Cookie,而且每个Cookie的大小限制在4KB左右。这限制了Cookie能存储的信息量和使用范围。
4、简要说明一个Ajax应用的实现一般需要几个步骤?
- 创建XMLHttpRequest对象:这是实现Ajax的基础,用于与服务器建立连接和交换数据。
- 创建HTTP请求:设置请求的类型(GET或POST)和URL,以及是否异步处理请求。
- 设置响应HTTP请求状态变化的函数:当服务器的响应到来时,这个函数会被调用,通常用来更新页面的部分内容。
- 设置获取服务器返回数据的语句:从服务器返回的数据通常会被放在这个函数中进行处理。
- 发送HTTP请求:通过XMLHttpRequest对象的send()方法,向服务器发送请求。
- 局部更新:在收到服务器响应后,使用JavaScript操作DOM来局部更新网页内容,提高用户体验。
5、简述JSP页面的工作原理?
当用户首次访问一个JSP页面时,服务器会启用JSP引擎,这是一个Servlet程序,负责处理JSP页面的请求。此时,如果JSP页面发生改动,容器(例如Tomcat)首先将JSP页面转化为Servlet代码,然后再将其转化为class文件。在转换过程中,所有HTML标签将被包含在println()方法中,所有的JSP元素将被转化为Java代码。
然后,Servlet容器解释并编译这些Servlet代码,以生成动态内容。接下来,容器将这些动态内容嵌入到HTTP响应中,并将响应返回给客户端。最后,浏览器接收到HTTP响应后,会根据其中的HTML、XML或其它格式的文档动态更新页面内容并展示给用户。
值得注意的是,每次修改了JSP页面后,都需要重新编译生成servlet及class文件,此过程可能会花费一些时间。这也是JSP技术相较于静态网页技术(如HTML和PHP)的一个主要缺点。
6、在Servlet3.0中要实现文件上传功能,需要做哪些准备工作?
首先,确保你的开发环境已经安装了JDK1.8、Maven3.6.1和Tomcat10。
使用
@MultipartConfig
注解标注你的servlet,表明该servlet可以处理Multipart方式提交的数据,从而支持文件上传。这个注解有几个重要的属性需要注意,如maxFileSize(最大文件大小)、maxRequestSize(最大请求大小)以及fileSizeThreshold(文件大小阈值)。在你的HTML表单中设置enctype="multipart/form-data"属性,以标识这个表单用于文件上传。同时,需要为每个文件项设定一个
在servlet中使用
Part
对象来接收上传的文件数据。这是因为在文件上传中,无论是普通数据还是文件数据,都被视作部分(part)对象进行处理。最后一步是将接收到的文件数据保存到你希望的位置。你可以使用Java I/O流将文件写入到硬盘上的指定位置。
7、列举5种JSP中常用的动作标记,并简要说明其功能?
jsp:include
:此标记用于在页面被请求时引入一个文件,这个文件可以是动态文件也可以是静态文件。
jsp:forward
:该标记用于将请求转发到另一个资源(例如另一个JSP页面、HTML页面或Servlet)。
jsp:useBean
:它是用来寻找或者实例化一个JavaBean的,JavaBean是一种可重用的组件。
jsp:setProperty
:此标记用于设置JavaBean的属性值。
jsp:getProperty
:它的作用是输出某个JavaBean的属性值。
jsp:fallback
:当插件不能被加载时,可以使用此标记定义一个备用的行为。
8、简述编写一个标准的JavaBean类必须遵循的基本规则是什么?
JavaBean类必须是一个公共类,将其访问属性设置为public。例如:
public class user{…}
。JavaBean类必须有一个空的构造函数,即类中必须包含一个不带参数的公用构造器。例如:
public User () {…}
。一个JavaBean类不应有公共实例变量,所有的成员变量都应以private修饰,通过getter和setter方法进行访问和修改。这样可以保证类的封装性和安全性。