1.简述什么是重定向?

服务器向浏览器发送—个302状态码及一个Location消息头(该消息头的值是一个地址,称之为重定向地址),浏览器收到后会立即向重定向地址发出请求。

2.简述什么是转发?怎么实现转发?

转发是—个Web组件(Servlet/JSP)将未完成的处理通过容器转交给另外—个Web组件继续完成。

可以按照以下三个步骤来实现转发:

(1)绑定数据到request对象,代码如下:

request.setAttribute(String name,Object obj);

(2)获得转发器,代码如下:

RequestDispatcher rd = request.getRequestDispatcher(String uri);

(3)转发代码如下:

rd.forward(request,response);

3.简述转发和重定向的区别?

转发和重定向的区别有以下几点:

(1)重定向是浏览器发送请求并收到响应以后再次向—个新地址发请求,转发是服务器收到请求后为了完成响应转到—个新的地址。

(2)重定向中有两次请求,不共享数据,转发只产生一次请求,且在组件间共享数据。(3)重定向后地址栏地址改变,而转发则不会。

(4)重定向的新地址可以是任意地址,转发到的新地址必须是同—个应用内的某地址。

4.Sevlet是否是线程安全的?如何解决Servlet线程安全问题?

Servlet存在线程安全问题。容器收到请求之后,会启动—个线程来进行相应的处理。默认情况下,容器只会为某个Servlet创建一个实例,如果同时有多个请求同时访问某个Servlet则肯定会有多个线程访问同一个Servlet实例。如果这些线程要修改Servlet实例的某个属性,就有可能发生线程安全问题。

可以使用synchronized对代码加锁来解决Servlet的安全问题。

IT兄弟连 JavaWeb教程 经典面试题3的更多相关文章

  1. IT兄弟连 JavaWeb教程 经典案例

    案例需求:编写一个jsp servlet程序,在login.jsp发起login.do登录请求,当输入的用户名是abc密码是123时,则判断是登录成功,其它暂时认为是登录失败.当用户登录成功时,将用户 ...

  2. IT兄弟连 JavaWeb教程 经典案例3

    案例需求:写一个用户登录的html页面有账号和密码,并在登录的Servlet中获取登录的账号和密码,如果账号是abc密码是123则重定向到main.html,否则重定向到login.html. 案例实 ...

  3. IT兄弟连 JavaWeb教程 jQuery对AJAX的支持经典面试题

    1.简述对Ajax的理解 AJAX是Asynchronous JavaScript and Xml异步的JavaScript和Xml.它一种用来改善用户体验的技术其实质是使用XMLHttpReques ...

  4. IT兄弟连 JavaWeb教程 过滤器与监听器经典面试题

    1.谈谈你对Servlet过滤器的理解 过滤器是Servlet2.3规范中定义的一种小型的.可插入的Web组件.用来拦截Servlet容器的请求和响应过程,以便查看.提取客户端和服务器之间正在交换的数 ...

  5. IT兄弟连 JavaWeb教程 EL与JSTL表达式经典面试题

    1.简述EL表达式的作用 EL表达式的作用可分为以下三类 访问Bean的属性. 输出简单的运算结果. 获取请求参数值. 2.JSP标签的作用?如何定义? JSP标签可以分离JSP页面的内容和逻辑,业务 ...

  6. IT兄弟连 JavaWeb教程 JSP内置对象经典面试题

    1.请说明cookie.request.session.application的作用域和声明周期? 并说明它们适用与什么场景? request的生命周期是一次请求.可以用于JSP表单提交数据. ses ...

  7. IT兄弟连 JavaWeb教程 JSP经典面试题

    1.JSP标准提供了三种独立的向JSP添加Java代码的技术,请列举. <% %>JSP程序代码块,内部可以直接嵌入Java代码. <%! %>JSP声明区,内部可以声明变量和 ...

  8. IT兄弟连 JavaWeb教程 Servlet会话跟踪 经典面试题

    1.描述Cookie的作用 Cookie是网站保存在浏览器客户端的信息,也就是说保存在访客的机器里的变量,一般随着HTTP头发送到客户端.在Cookie生效之后及失效之前,客户每次发出页面请求的时候, ...

  9. IT兄弟连 JavaWeb教程 jQuery对AJAX的支持经典案例

    案例需求:编写用户登陆页面的验证码模块,在用户进行登陆时,输入验证码后不需要点击提交按钮,使用AJAX异步地向服务器发送验证验证码的请求.如果验证码正确,可以点击提交按钮,如果验证码输入错误,提示用户 ...

随机推荐

  1. HDU 2108 Shape of HDU (判断是不是凸多边形 叉乘)

    Shape of HDU Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Tota ...

  2. 龙书D3D11章节习题答案(第四章)

    下面答案仅供參考,有错欢迎留言. Chapter 4:Direct3D Initialzation    1. Modify the previous exercise solution by dis ...

  3. NAND flash坏区

    计算容量 厂家所说的4G指的是4 000 000 000字节,是按1000进制计算的,而电脑是按照1024进制计算的,所以标称为4G的NAND Flash理论容量是4 000 000 000 / 10 ...

  4. 【bzoj3671】[Noi2014]随机数生成器

    优先按照它说明的方法处理数组 然后为了让数列中尽可能多的出现小的数字 所以1是必须要出现的,这样才能使整个数列的排序后字典序最小. 我们思考,如果2也能在这个数列中那就最好不过了 但是2有可能不在这个 ...

  5. java学习方向及主要内容

    Java分成J2ME(移动应用开发),J2SE(桌面应用开发),J2EE(Web企业级应用),所以java并不是单机版的,只是面向对象语言.建议如果学习java体系的话可以这样去学习: *第一阶段:J ...

  6. spring list map set

    1 list <!-- result in a setSomeList(java.util.List) call --> <property name="someList& ...

  7. REST RPC HTTP vs 高性能二进制协议 序列化和通信协议

    edisonchou https://mp.weixin.qq.com/s/-XZXqXawR-NxJMPCeiNsmg .NET Core微服务之服务间的调用方式(REST and RPC) Edi ...

  8. 编写自定义PE结构的程序(如何手写一个PE,高级编译器都是编译好的PE头部,例如MASM,TASM等,NASM,FASM是低级编译器.可以自定义结构)

    正在学PE结构...感谢个位大哥的文章和资料...这里先说声谢谢 一般高级编译器都是编译好的PE头部,例如MASM,TASM等一直都说NASM,FASM是低级编译器.可以自定义结构但是苦于无人发布相关 ...

  9. 默认安装centos7 网卡没有启动的问题

    CentOS最小化安装的时候,先把net-tools安装上(先把网卡配置好再安装.) #yum install net-tools 登录操作系统 用户名root 密码 123456 输入ip查询命令  ...

  10. bzoj4664: Count

    是bzoj4498: 魔法的碰撞的哥哥题,我只写了一种 不一样的地方在于贡献有负数,第三维要保存的不能仅仅是0~L,这样空间会炸裂 考虑如何把贡献变成正的 假如要求最优解,那么一定是按顺序排,混乱度为 ...