JSP错题纠错

本文探讨了Tomcat作为Web服务器的功能与限制,解析了Web容器的基本功能,并深入讲解了请求转发与重定向的工作原理及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

A:判断学员是否手动安装过Tomcat(练习熟练度) 
B:使学员了解Tomcat的运行过程 ,浏览器向Web服务器发送请求,Web站点处理请求后,把处理后的结果响应给浏览器
C:Tomcat作为Web服务器,可以部署Web站点以提供对浏览器访问的支持,不可以部署C/S程序
D:Web容器提供的基本功能(理解)
通过以上分析:对Tomcat描述不正确的是C

d答案错误,因为通过import导包的时候,不同的类文件之间用逗号隔开,应该为:<%@page import="java.util.*,java.text.*" %>

因为是转发,所以可以在a.jsp页面获得到请求对象中值。所以正确答案为B

 

request.getParameter("userId")得到的是第一个表单元素名称为“userId”的值,而要获得同名的多个表单元素的值,则需要通过request.getParameterValues(“userId”)来获取,返回一个字符串数组。所以答案为bc。

 

 

 

index.jsp中form中name为loginName最终值是bdqn到达loginDo.jsp后

再使用转发方式跳转到loginSuccess.jsp,故request的信息没有丢失使用可以得到参数名为loginName值是bdqn

首先,session的出现确实是为了解决HTTP无法保持客户状态的特点;因此A选项正确;用户信息也是客户状态的一部分,所以由A可以看出B的说法就不对了;接着,Session里信息是否安全并不取决于存放在哪里,而取决于session实现机制和获取机制,而且session也没有明确的规定其存放空间的大小限制,因此C、D也不对;
 

 

提交表单请求时,应为设置请求的字符编码,语法格式应该是:request.setCharacterEncoding("GBK");
所以D答案正确

 

Config对象是在服务器启动时就自动创建的对象,而Servlet创建时,通常是通过其获取初始化所需的信息。
答案选A

静态包含将页面包含进来以后在一起执行。此时变量i重名

01.从客户端发送的请求数量来看,重定向是向服务器发送了两次请求。而转发是服务器内部进的操作,只发送了一次请求,request对象中的数据可以保留 。

  02.URL显示的角度来说:重定向这两次请求都是直接受浏览器干预的。也就是说重定向后url地址栏里看到的地址发生变化了。而转发是由服务器内部从一个资源页面定位到另一个资源页面,并没有经过浏览器干预,所以url地址栏没有发生改变。

结论:要想在request中保存数据,那么就使用转发,否则使用重定向。

 

重定向和转发有一个重要的不同:当使用转发时,JSP容器将使用一个内部的方法来调用目标页面,新的页面继续处理同一个请求,而浏览器将不会知道这个过程。 与之相反,重定向方式的含义是第一个页面通知浏览器发送一个新的页面请求。因为,当你使用重定向时,浏览器中所显示的URL会变成新页面的URL, 而当使用转发时,该URL会保持不变。重定向的速度比转发慢,因为浏览器还得发出一个新的请求。同时,由于重定向方式产生了一个新的请求,所以经过一次重定向后,request内的对象将无法使用。
          怎么选择是重定向还是转发呢?通常情况下转发更快,而且能保持request内的对象,所以他是第一选择。但是由于在转发之后,浏览器中URL仍然指向开始页面,此时如果重载当前页面,开始页面将会被重新调用。如果你不想看到这样的情况,则选择转发。

转发和重定向的区别
不要仅仅为了把变量传到下一个页面而使用session作用域,那会无故增大变量的作用域,转发也许可以帮助你解决这个问题。
重定向:以前的request中存放的变量全部失效,并进入一个新的request作用域。
转发:以前的request中存放的变量不会失效,就像把两个页面拼到了一起。

response.sendRedirect("index2.jsp");为重定向,得不到request对象里的值,所以输出内容为null。答案a正确

所有的JSP都会在客户端发出请求后被容器转译成servlet的源代码(java),然后再将源码(java)编译成servlet的类(class),放入到内存里面。其中,<%!  int a=0;%>定义的是类的成员变量,<% int b=0; %>则定义的是service方法中的局部变量。除第一次请求外,其他两次请求都只调用service方法。本题答案为c。

 

重定向是客户端行为,是发送的二次请求,所以不能使用第一次请求中request的数据
a答案错误

1 写入Cookie的语法:

response.addCookie(cookName);

response.sendRedirect("地址");

2 读取Cookie信息:

request.getCookies();


 


 

 

 


 

 


 

转载于:https://www.cnblogs.com/1And0/p/5638203.html

JSP100选择题 适合考前练习 1 J2EE 中,()类的()方法用于创建对话。(选择一项) a) HttpServletRequest、getSession b) HttpServletResponse、newSession c) HtttpSession、newInstance d) HttpSession、getSession 2 给定一个 Servlet 的doGet方法中的代码片段,如下: request.setAttribute(“name”,”zhang”); response.sendRedirect(“http://localhost:8080/servlet/MyServlt”); 那么在 MyServlet 中可以使用()方法把属性 name的值取出来。(选择一项) a) String str=request.getAttribute(“name”); b) String str=(String)request.getAttribute(“name”); c) Object str=request.getAttribute(“name”); d) 无法取出来 3.在Servlet里,能实现重定向的方法有()。(选择两项) A.运用javax.servlet.http.HttpServletRequest接口的sendRedirect方法 B.运用javax.servlet.http.HttpServletResponse接口的sendRedirect方法 C.运用javax.servlet.RequestDispatcher接口的forward方法 D.运用javax.servlet.ResponseDispatcher接口的forward方法 4.利用MyEclipse开发Servlet,下列说法正确的是( )。(只选两项) A. MyEclipse可自动产生web.xml B. MyEclipse不能自动产生web.xml,需要手工编 C.可利用MyEclipse自带的Tomcat作为Servlet容器 D. MyEclipse没有自带Tomcat,需要自己安装配置。 5.编Servlet 的doPost方法时,需要抛出异常为()。(只选一项) A.ServletException, IOException B.ServletException, RemoteException C.HttpServletException, IOException D.HttpServletException, RemoteException 6.有关会话跟踪技术描述正确的是()。(选择三项) A.Cookie是Web服务器发送给客户端的一小段信息,客户端请求时,可以读取该信息发送到服务器端 B.关闭浏览器意味着会话ID丢失,但所有与原会话关联的会话数据仍保留在服务器上,直至会话过期 C.在禁用Cookie时可以使用URL重技术跟踪会话 D.隐藏表单域将字段添加到HTML表单并在客户端浏览器中显示 …………
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值