1.下面有关forward和redirect的描述,正确的是() ?
A:forward是服务器将控制权转交给另外一个内部服务器对象,由新的对象来全权负责响应用户的请求
B:执行forward时,浏览器不知道服务器发送的内容是从何处来,浏览器地址栏中还是原来的地址
C:执行redirect时,服务器端告诉浏览器重新去请求地址
D:forward是内部重定向,redirect是外部重定向
E:redirect默认将产生301 Permanently moved的HTTP响应
解析:
1.从地址栏显示来说
forward是服务器请求资源,服务器直接访问目标地址的URL,把那个URL的响应内容读取过来,然后把这些内容再发给浏览器.浏览器根本不知道服务器发送的内容从哪里来的,所以它的地址栏还是原来的地址.
redirect是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址.所以地址栏显示的是新的URL.
2.从数据共享来说
forward:转发页面和转发到的页面可以共享request里面的数据.
redirect:不能共享数据.
3.从运用地方来说
forward:一般用于用户登陆的时候,根据角色转发到相应的模块.
redirect:一般用于用户注销登陆时返回主页面和跳转到其它的网站等.
4.从效率来说
forward:高.
redirect:低
正确答案:BCD
2.直接转发和间接转发的原理及区别是什么?
答:Forward和Redirect代表了两种请求转发方式:直接转发和间接转发。对应到代码里,分别是RequestDispatcher类的forward()方法和HttpServletRequest类的sendRedirect()方法。
对于间接方式,服务器端在响应第一次请求的时候,让浏览器再向另外一个URL发出请求,从而达到转发的目的。它本质上是两次HTTP请求,对应两个request对象。
对于直接方式,客户端浏览器只发出一次请求,Servlet把请求转发给Servlet、HTML、JSP或其它信息资源,由第2个信息资源响应该请求,两个信息资源共享同一个request对象。
代码输出是什么?
给定代码:
A:value=6
B:value=8
C:value=3
D:value=5
解析:
没有break,从case 4开始一直执行到最后,j自加3次变成了4,结果返回8
正确答案:B
4.关于抽象类与最终类,下列说法错误的是?
A:抽象类能被继承,最终类只能被实例化。
B:抽象类和最终类都可以被声明使用
C:抽象类中可以没有抽象方法,最终类中可以没有最终方法
D:抽象类和最终类被继承时,方法可以被子类覆盖
解析:
抽象类:
1.抽象类中可以有抽象方法,也可以没有抽象方法。
2.抽象类当然可以被继承,因为它就是用来继承的,
3.继承抽象类,若有抽象方法,则子类必须将其抽象方法实现,
4.抽象类中的非抽象方法可以被重写。
最终类和抽象类正好相反
1.加上final的类就叫最终类,加上final的方法就叫最终方法,
2.最终类中可以有最终方法也可以没有
3.最终类不能有子类,最终方法不能被重写
正确答案:D
5.从学生表Student中删除所有数据的语法是DROP FROM Student。
A:正确
B:错误
解析:
1.删除表中的数据以及定义(出手最狠)
drop table Student;
2.删除表中数据,定义还在(比较温柔)
truncate table Student;
3.删除表中所有数据,但是删的比较低效(温柔型)
delete table Student;(系统一行一行删,保留日志,可以rollback)
正确答案:B
领取专属 10元无门槛券
私享最新 技术干货