IT兄弟连 JavaWeb教程 经典面试题3
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的安全问题。
最新文章
- centos7下搭建nginx+php7.1+mariadb+memcached+redis
- Linux主机共享目录给Windows主机的方法
- virtual 修饰符 C# .NET
- ahjesus mongodb指定到数据盘连接不上的解决方案
- 畅通工程再续--hdu1875
- POJ 2112 Optimal Milking【网络流+二分+最短路】
- Django- 'WSGIRequest' object has no attribute 'user'
- 转:jmeter性能测试---登录百度进行搜索
- vue 手机端开发 小商铺 添加购物车 以及结算 功能
- OC语言(二)
- SpringMVC从认识到细化了解
- eclipse运行spark程序时日志颜色为黑色的解决办法
- 浅谈mysql
- Can't use Subversion command line client***Probably the path to Subversion executable is wrong. Fix
- C#两个DataTable拷贝问题:该行已经属于另一个表的解决方法
- git的版本回退探索
- python 安装 scapy windows 10 64bit
- git工具的使用
- PC上的番茄工作法软件 Pomodairo 1.9 详细攻略
- jQuery因mouseover,mouseout冒泡产生的闪烁问题
热门文章
- android-problem——remount of /system failed: Read-only file system
- Codeforces Round #258 (Div. 2/A)/Codeforces451A_Game With Sticks
- 【POJ 3292】 Semi-prime H-numbers
- Python 包的制作(__init__.py)
- mysql的DUPLICATE KEY
- bzoj 1088 简单dfs
- appium 查错
- eclipse无法启动问题记录
- ADB结构及代码分析【转】
- POJ3281 Dining —— 最大流 + 拆点