web项目答辩总结_web经典答辩题
11、手工书写一个servlet类,并书写servlet注册的web.xml文件
12、servlet url映射路径有哪些?
/abc:精确映射
*.do:扩展映射
/abc/* :路径映射
13、说出servlet 的生命周期
答:1.WEB容器启动会读取每个WEB应用的web.xml文件配置信息,并解析web.xml文件。得到servlet配置信息。
2.容器加载并实例化Servlet
(web.xml文件配置servlet时有个如果大于等于0则启动容器就实例化,如果为负数或缺省则第一次请求实例化)
3.容器调用init()方法初始化
4.每次请求调用service()方法完成逻辑
5.容器丢弃servlet调用destroy()方法
14、ServletContext的作用。
答:作用于整个WEB应用
1、可使用getRealPath()获得资源真实路径
2、可使用getAttribute()、和setAttribute()方法共享全局变量。
15、Http响应信息状态码有哪些?各代表什么含义
答:100-199:表示信息性代码,标示客户端应该采取的其他动作,请求正在进行
200-299:表示客户请求成功
300-399:表示用于已经移走的资源文件,指示新的地址
400-499:表示由客户端引发的错误
500-599:表示由服务器端引发的错误
16、如何设置响应信息的响应头?(书写代码)
答:response.setHeader(“key”,”value”);
17、如何向客户端输出一段字符串信息,如何向客户端输出二进制信息?
Response.getWriter().print();
Response.getOutputStream().writer();
18、如何进行页面的重定向(书写代码),说出重定向的工作原理。并说出重定向的好处。
答:response.sendRedirect("转发的页面路径");
原理:
1,浏览器向服务器发送HTTP请求。
2,服务器接收到请求后,如果调用response.sendRedirect()
方法,表示资源已被移走。则发送一个302的状态码和
location的响应头。在location响应头指明要转发的地址。
3,浏览器在接收到302状态码后,会读取location响应头的
内容,并将地址栏的值赋为location响应头的内容。从而
再向服务器发出第二次请求。由于是二次请求,所以重定
向不能获得封装在request中的属性信息
19、GET提交和POST提交有什么不同。
答:get:提交的数据类型:文本;提交的数据长度:不超过255个字符;提交数据
可见性:作为url地址的一部分显示在浏览器的地址;提交数据缓存:缓存
在浏览器url历史状态中
post:提交的数据类型:文本,二进制文本;提交的数据长度:没有限制;
提交数据可见性:作为请求的消息体,不可见;提交数据缓存:不会被
浏览器缓存
当查找资源的时候是get
数据传输的时候是post
20、如何解决提交中文时出现的乱码。
答:表单以POST方式提交。 request.setCharacterEncoding("gbk");
21、如何得到客户端请求的方式,得到servlet请求路径?
答:request.getMethod();
Request.getServletPath();
22、如何得到请求头
答:request.getHeader(“key”);
23、如何得到客户端表单数据?如果表单数据中有相同的name值又应该如何获得?
答:String str = request.getParameter();
String[] strs = Request.getParameterValues();
24、上传文件时需要注意什么问题。
答:enctype=multipart/form-data
method=post
25、request中设置属性,该属性的作用范围是什么?
答:一次请求响应完成后,就会销毁。
26、书写内部转发的代码
答:request.getRequestDispatcher("转发的网页地址").forward(request,response)
27、为什么要进行状态跟踪?状态跟踪有几种方式?
答:Http协议是无状态的连接
表单隐藏字段
cookie
url重写
session会话跟踪
28、cookie有几种?cookie和session有什么不同?
答:一种以文件的方式保存在客户端,一种是保存在浏览器的缓存中,重新
开启浏览器则cookie消息。
区别:
1.session保存在服务器,客户端不知道它的信息;而cookie保存在客户端,服务器知道其中的信息。
2.session中 保存的是对象,而cookie中保存的是字符串
3.session是不能区分路径的,同一个客户在访问web服务器之间,
在任何地方都能够访问得到session中保存的信息的。而cookie
如果设置了路径参数,同一个网站下的不同路径的cookie互相是
访问不到的。
4.session是以cookie或URL重写为基础的,默认使用cookie来实现,
系统会创造一个名为JSESSIONID的输出cookie,我们叫做session
cookie,以区别persistent cookies,也就是我们通常所说的
cookie,注意session cookie是存储于浏览器内存中的,并不是
写到硬盘上的,这也就是我们刚才看到的JSESSIONID,我们通常
情是看不到JSESSIONID的,但是当我们把浏览器的cookie禁止后,
web服务器会采用URL重写的方式传递Sessionid,我们就可以在
地址栏看到sessionid=KWJHUG6JJM65HS2K6之类的字符串。
29、session的作用范围?并说出session的工作流程
答:作用范围:一个会话交互过程;
1.客户端先报个服务器请求,服务器调用request.getSession()创建会话对象
(session)同时给对象产生一个唯一标识(session)并将sessionID和session
对象放入一个map集合
2.服务器向客户端发送响应,sessionID会以响应头的方式发送给客户端
(set-cookie)
3.客户端再次请求,那么之前发给客户端的sessionID会以请求头的方式发给
服务器,而服务器根据sessionID从map集合中找到对应的session对象
30、如何销毁会话?
答:1.session超时
2.调用session对象的invalidate()方法
3.web容器关闭或崩溃
31、当客户端禁用cookie,如何进行状态跟踪?
答:url重写,将sessionID附加在请求参数后面,服务器得到sessionID后就能找到对应的session对象
32、说出ServletContext、HttpSession、ServletRequest各自的作用范围。
答:ServletContext:整个web应用程序
HttpSession:一个会话交互过程
ServletRequest:一次请求过程
33、什么是监听器。监听器监听的对象有哪些?监听器主要是对监听对象的哪些状态进行监听?
答: 监听对象:session,request,application,监听器用以监听这些对象的创建和销毁,以及属性值的添加、删除和替换
34、说出监听器开发的流程。哪个监听器不需要进行注册?
答: 实现一个监听器接口
实现接口里所有的方法
注册
HttpSessionBindingListener
35、什么是过滤器?
答:过滤器是一个中间组件,用于拦截源数据和目的数据之间的消息
过滤二者之间传递的数据
36、如何编写过滤器类,如何注册过滤器?
答:过滤器类都必须实现javax.servlet.Filter接口
public class HelloWorldFilter implements Filter {
private FilterConfig filterConfig;
public void init(FilterConfig
filterConfig) {//初始化方法
this.filterConfig = filterConfig;
}
public void doFilter(
ServletRequest request, ServletResponse
response,//请求和响应均不是基于Http协议的
FilterChain filterChain //将请求继续向后面的过滤器或目标资源发送
) throws ServletException,
IOException {//业务方法,书写过滤内容
PrintWriter pw = response.getWriter();
……
filterChain.doFilter(request,response);
}
public void destroy() {//销毁方法
}
}
注册
HelloWorldFilter
com.lovobook.HelloWorldFilter
HelloWorldFilter
/filter/*//对请求URL对应的资源过滤
testServlet//对servlet过滤
37、过滤器中哪个方法用于过滤逻辑?如何让请求到达下一个过滤器或请求目标?
答:Filter接口中的doFilter方法
filterChain.doFilter(request,response);
38、说说过滤器链的执行顺序。
首先调用匹配请求URI的过滤器
再查找用Servlet名匹配请求URI的所有过滤器
如果有多个,则按部署先后顺序排序
39、说出JSP的生命周期。
答:第一阶段:jsp页面翻译阶段
第二阶段:jsp页面编译阶段
第三阶段:jsp页面类装载阶段
第四阶段:jsp页面类实例化阶段
第五阶段:jsp页面初始化阶段
第六阶段:jsp页面服务阶段
第七阶段:jsp页面销毁阶段
40、什么是JSP引擎?为什么说JSP是Servlet?
答:帮助我们把jsp文件翻译成java类
jsp页面需要由web容器翻译成java类才能将内容显示到客户端,
jsp页面翻译的类必须实现httpJspPage接口,而该接口是servlet
子接口,所以jsp页面翻译的类也实现了servlet接口,所以jsp
本质是servlet.
Jsp主要用于页面的数据显示,而servlet主要用于数据逻辑处理
41、JSP脚本元素有哪些?用代码书写出来
答:声明:定义方法和成员变量
Scriplet: 丰富_jspService
脚本表达式:
相当于输出out.print();
42、JSP注释有哪些?各自有什么特点?
jsp注释:
容器不翻译,服务器和客户端均不可见。
html注释:
web项目答辩总结_web经典答辩题相关推荐
- web项目答辩总结_web实战项目遇到问题总结探索
最近在写一个django的web项目,后端代码基本都已经写好了,主要是前端,以前学过一段前端,只是对一些基本的方法知道,但还有很多东西不熟练,问题是在遇到表单数据时候,如何对参数整体打包发送后端接口, ...
- web项目答辩总结_javaWEB项目答辩
JSP 项目答辩问题 1 . 什么是 B/S . C/S? 答案: C/S 结构: Client/Server (客户端 / 服务器) , 桌面安装应用程序 ( QQ . 斗地主. MSN ) . B ...
- web项目答辩总结_java web 答辩总结
今天我们组答辩.在昨天前三个组答辩之后,整理了一些试题. 在这个项目的答辩准备:首先把这个java web这本书大概的看了一遍:对整理的那些试题也把答案整理出来了:针对老师提问频率较高的试题:针对自己 ...
- 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程
本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...
- 用myeclipse开发java web教程_转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程...
本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...
- web项目开发人员配比_Web设计人员和开发人员使用的前25个资源
web项目开发人员配比 Great designers and developers are looking every day for resources that can help them ac ...
- eclipse调试web项目
http://www.cnblogs.com/qrlozte/p/3532522.html ************************** 我以前一直不知道怎么在eclipse中调试web项目, ...
- 云服务器 ECS 建站教程:手工部署Java Web项目
手工部署Java Web项目 Tomcat 一个开源的且免费的 Java Web 服务器,常用来作为 web 开发的工具.它可以托管由 servlet,JSP 页面(动态内容),HTML 页面,jav ...
- web项目打包到上线教程_手把手教你在 IntelliJ IDEA 中部署 Web 项目
关注 逆锋起笔 学习 资源.工具不用愁 「逆锋起笔」公号读者福利 ☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜本文地址:www.cnblogs.com/deng-cc/p/6416332.ht ...
最新文章
- 全球无人车头部三强格局明确,百度自动驾驶估值400亿美金
- 用C语言Linux下打印带颜色的字符串
- 开源免费,zabbix服务器监控全面实现
- 安卓学习笔记29:使用SQLite数据库
- java中方法未定义_java - Java SE中的未定义方法错误 - 堆栈内存溢出
- Windows内核管理层的部件之I/O管理模块
- 怎么自学java_菜鸟如何自学Java
- 一片新的ATmega328芯片如何烧录?
- Edge浏览器安装Tampermonkey插件
- VMware 菜鸟教程
- Windows下如何强制删除文件夹及文件的命令
- (转)优秀的投资者 文/老钱
- 小龙女的真面目和杨过跳崖真相--其实不想走!
- 考研词汇测试软件,考研词汇 - 在线打字测试(dazi.kukuw.com)
- 家里Wifi网速突然变慢,一招瞬间提速
- 2016 多校4 1002 After a Sleepless Night 树上贪心
- 你还在问我Bean的生命周期?带你看看一个Spring Bean从诞生到逝去的九次人生转折!
- mac 特殊符号的操作
- 测试分享之集五福 福卡的分享
- Cocos Creator:挑战全平台引擎极限
热门文章
- Java正整数分解质因数
- 宽带客户端下载与安装
- 三星发布2021款画框电视:可伪装成墙面艺术品
- 【考研复试】Linux快速过一遍
- 给我一个放鞭炮动画的代码,使用C#执行
- Incorrect string value utf8bm4 依然报错_英雄联盟手游报错出现LoginTimeOut 10010解决方法 lol手游公测43个英雄介绍_游戏频道...
- ps:选区的存储及载入
- 互联网“反垄断”:十年争议,今朝枪响
- 2020-11-08 Windows应用程序设计作业(Python版实现)(一)简单语法
- 电脑显示没有被指定在上运行_电脑出现“损坏的图像”窗口提示dll没有被指定在Windows上运行如何解决...