- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java经典面试题分享(附答案详解)
Java经典面试题分享(附答案详解)
PAGE / NUMPAGES
Java经典面试题分享(附答案详解)
1 、Servlet 3 中的异步处理指的是什么 ?
答:在 Servlet 3 中引入了一项新的技术可以让 Servlet 异步处理请求。有人可
能会质疑,既然都有多线程了,还需要异步处理请求吗 ?答案是肯定的,因为如
果一个任务处理时间相当长,那么 Servlet 或 Filter 会一直占用着请求处理线程
直到任务结束,随着并发用户的增加,容器将会遭遇线程超出的风险,这这种情
况下很多的请求将会被堆积起来而后续的请求可能会遭遇拒绝服务, 直到有资源
可以处理请求为止。 异步特性可以帮助应用节省容器中的线程, 特别适合执行时
间长而且用户需要得到结果的任务,如果用户不需要得到结果则直接将一个
Runnable 对象交给 Executor 并立即返回即可。
补充:多线程在 Java 诞生初期无疑是一个亮点,而 Servlet 单实例多线程的工
作方式也曾为其赢得美名, 然而技术的发展往往会颠覆我们很多的认知, 就如同
当年爱因斯坦的相对论颠覆了牛顿的经典力学一般。事实上,异步处理绝不是
Serlvet 3 首创,如果你了解 Node.js 的话,对 Servlet 3 的这个重要改进就不以
为奇了。
下面是一个支持异步处理请求的 Servlet 的例子。
importjava.io.IOException; importjavax.servlet.AsyncContext;
importjavax.servlet.ServletException;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
1 / 5
importjavax.servlet.http.HttpServletResponse; @WebServlet(urlPatterns
{ /async}, asyncSupported = true) publicclassAsyncServletextendsHttpServlet{privatestaticfinallongserialVe rsionUID = 1L; @OverridepublicvoiddoGet(HttpServletRequest req,
HttpServletResponse resp) throwsServletException, IOException { // 开启
Tomcat 异步 Servlet 支持
req.setAttribute( org.apache.catalina.ASYNC_SUPPORTED, true);
finalAsyncContext ctx = req.startAsync(); // 启动异步处理的上下文 //
ctx.setTimeout(30000);ctx.start( newRunnable()
{ @Overridepublicvoidrun() { // 在此处添加异步处理的代码
plete(); } }); } }
2 、如何在基于 Java 的 Web 项目中实现文件上传和下载 ?
答:在 Sevlet 3 以前, Servlet API 中没有支持上传功能的 API ,因此要实现上
传功能需要引入第三方工具从 POST 请求中获得上传的附件或者通过自行处理
输入流来获得上传的文件,我们推荐使用 Apache 的 commons-fileupload 。
从 Servlet 3 开始,文件上传变得无比简单, 相信看看下面的例子一切都清楚了。上传页面 index.jsp :
Select your photo and upload
${hint}
2 / 5
Photo file:
支持上传的 Servlet :
packagecom.jackfrued.servlet; importjava.io.IOException;
importjavax.servlet.ServletException;
importjavax.servlet.annotation.MultipartConfig;
importjavax.servlet.annotation.WebServlet;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjav
您可能关注的文档
- Ipv6、Ipv4流控制专用信息安全设备产业化项目澄清文件概要.doc
- ISO14001环境管理体系审核清单——环境管理方案.doc
- ISO9004194质量管理标准的内容介绍二.doc
- ISO:2000版培训——业界参考.doc
- IT事业部工作总结.doc
- JavaEE方向体验实训方案.doc
- JAVA开发常用词汇新手必备.doc
- JDPAINT立体转入TYPE3的方法.doc
- JH53-12厚膜型环氧防腐面漆.doc
- jrrAAA关于描写夏天的成语.doc
- 私募基金监管及合规运营小蓝本【4月刊】境内外_2024年.pdf
- 联合国西亚经济社会委员会-阿拉伯国家劳动力统计状况( State of Labour Force Statistics in Arab States 202405.pdf
- 高盛-TOP OF MIND-央行分化,中国市场向上及铜价和金.pdf
- 数据中心物理基础设施管理要求白皮书(2024).pdf
- 营销策划 -娃哈哈.PQQ店中店项目-悠简综合抗衰管理系统 2024.pdf
- 全球游戏耳机市场调研 2024.pdf
- 高盛-微软-GENAI发布提升领导力.pdf
- 中小学综合实践活动指导纲要.docx
- KEYENCE基恩士HR-X 系列 MITSUBISHI Q SERIES PLC-LINK 连接指南 通信模块“QJ71E71-100” 篇.pdf
- 大疆 DJI Avata 2 - 安全概要 (畅飞套装) v1.0.pdf
文档评论(0)