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经典答辩题相关推荐

  1. web项目答辩总结_web实战项目遇到问题总结探索

    最近在写一个django的web项目,后端代码基本都已经写好了,主要是前端,以前学过一段前端,只是对一些基本的方法知道,但还有很多东西不熟练,问题是在遇到表单数据时候,如何对参数整体打包发送后端接口, ...

  2. web项目答辩总结_javaWEB项目答辩

    JSP 项目答辩问题 1 . 什么是 B/S . C/S? 答案: C/S 结构: Client/Server (客户端 / 服务器) , 桌面安装应用程序 ( QQ . 斗地主. MSN ) . B ...

  3. web项目答辩总结_java web 答辩总结

    今天我们组答辩.在昨天前三个组答辩之后,整理了一些试题. 在这个项目的答辩准备:首先把这个java web这本书大概的看了一遍:对整理的那些试题也把答案整理出来了:针对老师提问频率较高的试题:针对自己 ...

  4. 转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程

    本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...

  5. 用myeclipse开发java web教程_转:在MyEclipse下创建Java Web项目 入门(图文并茂)经典教程...

    本文是一篇在Myeclipse下构建Java Web项目的初级教程.图文并茂,非常详细.所用的Myeclipse版本是7.5. 第一步:新建Web Project,如下图. 第二步,在弹出的窗口填写下 ...

  6. web项目开发人员配比_Web设计人员和开发人员使用的前25个资源

    web项目开发人员配比 Great designers and developers are looking every day for resources that can help them ac ...

  7. eclipse调试web项目

    http://www.cnblogs.com/qrlozte/p/3532522.html ************************** 我以前一直不知道怎么在eclipse中调试web项目, ...

  8. 云服务器 ECS 建站教程:手工部署Java Web项目

    手工部署Java Web项目 Tomcat 一个开源的且免费的 Java Web 服务器,常用来作为 web 开发的工具.它可以托管由 servlet,JSP 页面(动态内容),HTML 页面,jav ...

  9. web项目打包到上线教程_手把手教你在 IntelliJ IDEA 中部署 Web 项目

    关注 逆锋起笔 学习 资源.工具不用愁 「逆锋起笔」公号读者福利 ☞ 程序员进阶必备资源免费送「21种技术方向!」 ☜本文地址:www.cnblogs.com/deng-cc/p/6416332.ht ...

最新文章

  1. 全球无人车头部三强格局明确,百度自动驾驶估值400亿美金
  2. 用C语言Linux下打印带颜色的字符串
  3. 开源免费,zabbix服务器监控全面实现
  4. 安卓学习笔记29:使用SQLite数据库
  5. java中方法未定义_java - Java SE中的未定义方法错误 - 堆栈内存溢出
  6. Windows内核管理层的部件之I/O管理模块
  7. 怎么自学java_菜鸟如何自学Java
  8. 一片新的ATmega328芯片如何烧录?
  9. Edge浏览器安装Tampermonkey插件
  10. VMware 菜鸟教程
  11. Windows下如何强制删除文件夹及文件的命令
  12. (转)优秀的投资者 文/老钱
  13. 小龙女的真面目和杨过跳崖真相--其实不想走!
  14. 考研词汇测试软件,考研词汇 - 在线打字测试(dazi.kukuw.com)
  15. 家里Wifi网速突然变慢,一招瞬间提速
  16. 2016 多校4 1002 After a Sleepless Night 树上贪心
  17. 你还在问我Bean的生命周期?带你看看一个Spring Bean从诞生到逝去的九次人生转折!
  18. mac 特殊符号的操作
  19. 测试分享之集五福 福卡的分享
  20. Cocos Creator:挑战全平台引擎极限

热门文章

  1. Java正整数分解质因数
  2. 宽带客户端下载与安装
  3. 三星发布2021款画框电视:可伪装成墙面艺术品
  4. 【考研复试】Linux快速过一遍
  5. 给我一个放鞭炮动画的代码,使用C#执行
  6. Incorrect string value utf8bm4 依然报错_英雄联盟手游报错出现LoginTimeOut 10010解决方法 lol手游公测43个英雄介绍_游戏频道...
  7. ps:选区的存储及载入
  8. 互联网“反垄断”:十年争议,今朝枪响
  9. 2020-11-08 Windows应用程序设计作业(Python版实现)(一)简单语法
  10. 电脑显示没有被指定在上运行_电脑出现“损坏的图像”窗口提示dll没有被指定在Windows上运行如何解决...