javaweb面试题01

1 Servlet 的生命周期

  答:Web 容器加载Servlet 并将其实例化后,Servlet 生命周期开始,容器运行其init 方法进行Servlet 的初始化,请求到达时运行其service 方法,service方法自动派遣运行与请求对应的doXXX 方法(doGet,doPost)等,当服务器决定将实例销毁的时候调用其destroy 方法。

2 forward 和redirect 的区别

  答:forward 是容器中控制权的转向,是服务器请求资源,服务器直接访问目标地址的URL,把那个URL 的响应内容读取过来,然后把这些内容再发给浏览器,浏览器根本不知道服务器发送的内容是从哪儿来的,所以它的地址栏中还是原来的地址。redirect 就是服务端根据逻辑,发送一个状态码,告诉浏览器重新去请求那个地址,一般来说浏览器会用刚才请求的所有参数重新请求,所以session,request 参数都可以获取,并且从浏览器的地址栏中可以看到跳转后的链接地址。

  前者更加高效,在前者可以满足需要时,尽量使用forward()方法,并且,这样也有助于隐藏实际的链接;在有些情况下,比如,需要跳转到一个其它服务器上的资源,则必须使用sendRedirect()方法。

3 JSP 的内置对象及方法

request 表示HttpServletRequest 对象。它包含了有关浏览器请求的信息

response 表示HttpServletResponse 对象,网页传回用户端的回应;并提供了几个用于设置送回浏览器的响应的方法

out 对象是javax.jsp.JspWriter 的一个实例,并提供了几个方法使你能用于向浏览器回送输出结果。

pageContext 表示一个javax.servlet.jsp.PageContext 对象。网页的属性,它是用于方便存取各种范围的名字空间、servlet 相关的对象的API

session 表示一个请求的javax.servlet.http.HttpSession 对象。与请求有关的会话期。Session可以存贮用户的状态信息。

application 表示一个javax.servle.ServletContext 对象。这有助于查找有关servlet 引擎和servlet 环境的信息。

config 表示一个javax.servlet.ServletConfig 对象。servlet 的构架部件,该对象用于存取servlet 实例的初始化参数。

page 表示从该页面产生的一个servlet 实例。JSP 网页本身

exception:针对错误网页,未捕捉的例外。

4 Form 中get 和post 请求的区别

  答:在数据传输过程中分别对应了HTTP 协议中的GET 和POST 方法。二者主要区别如下:

1)Get 是用来从服务器上获得数据,而Post 是用来向服务器上传递数据;

2)Get 将表单中数据按照variable=value 的形式,添加到action 所指向的URL 后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post 是将表单中的数据放在form 的数据体中,按照变量和值相对应的方式,传递到action所指向URL;

3)Get 是不安全的,因为在传输过程,数据被放在请求的URL 中;Post 的所有操作对用户来说都是不可见的;

4)Get 传输的数据量小,这主要是因为受URL 长度限制;而Post 可以传输大量的数据,所以在上传文件只能使用Post;

5)Get 限制Form 表单的数据集必须为ASCII 字符,而Post 支持整个ISO10646字符集;

6)Get 是Form 的默认方法。

5 JSP 和Servlet 有哪些相同点和不同点,他们之间的联系是什么

  答:JSP 是Servlet 技术的扩展,本质上是Servlet 的简易方式,更强调应用的页面表达。Servlet 和JSP 最主要的不同点在于,Servlet 的应用逻辑是在Java 文件中,并且完全从表示层中的HTML 里分离开来。而JSP 的情况是Java 和HTML 可以组合成一个扩展名为.jsp 的文件。JSP 侧重于视图,Servlet 主要用于控制逻辑。

6 什么是Servlet,作用

  答:servlet是一个基于java技术的WEB组件,运行在服务器端,我们利用 sevlet可以很轻松的扩展WEB服务器的功能,使它满足特定的应用需要。servlet由servlet容器管理,servlet容器也叫 servlet引擎,是servlet的运行环境,给发送的请求和响应之上提供网络服务.

7 jsp 的四种范围

  答:page 是代表与一个页面相关的对象和属性。一个页面由一个编译好的Java servlet 类(可以带有任何的include 指令,但是没有include 动作)表示。这既包括servlet 又包括被编译成servlet 的JSP页面

  request 是代表与Web 客户机发出的一个请求相关的对象和属性。一个请求可能跨越多个页面,涉及多个Web 组件(由于forward 指令和include 动作的关系)

  session 是代表与用于某个Web 客户机的一个用户体验相关的对象和属性。一个Web 会话可以也经常会跨越多个客户机请求

  application 是代表与整个Web 应用程序相关的对象和属性。这实质上是跨越整个Web 应用程序,包括多个页面、请求和会话的一个全局作用域。

8 详细描述MVC

  答:基于Java 的Web 应用系统采用MVC 架构模式,即model(模型)、view(视图)、control(控制)分离设计;这是目前WEB 应用服务系统的主流设计方向。

Model:即处理业务逻辑的模块,每一种处理一个模块;

View:负责页面显示,显示MODEL 处理结果给用户,主要实现数据到页面转换过程;

Control:负责每个请求的分发,把FORM 数据传递给MODEL 处理,把处理结果的数据传递给VIEW 显示。

9 STRUTS 的应用(如STRUTS 架构)

  答:Struts 是采用Java Servlet/JavaServer Pages 技术开发Web 应用程序的开放源码的framework。采用Struts 能开发出基于MVC(Model-View-Controller)设计模式的应用构架。Struts 有如下的主要功能:

1)包含一个controller servlet,能将用户的请求发送到相应的Action 对象;

2)JSP 自由tag 库,并且在controller servlet 中提供关联支持,帮助开发人员创建交互式表单应用;

3)提供了一系列实用对象:XML 处理、通过Java reflection APIs 自动处理JavaBeans 属性、国际化的提示和消息。

10 javascript 的优缺点和内置对象;【中等难度】

  答:1)优点:简单易用,与Java 有类似的语法,可以使用任何文本编辑工具编写,只需要浏览器就可执行程序,并且事先不用编译,逐行执行,无需进行严格的变量声明,而且内置大量现成对象,编写少量程序可以完成目标;

  2)缺点:不适合开发大型应用程序;

  3)Javascript 有11 种内置对象:Array、String、Date、Math、Boolean、Number、Function、Global、Error、RegExp、Object。

时间: 2024-11-08 10:54:19

javaweb面试题01的相关文章

Java基础面试题,JavaWeb面试题

java基础面试题 1.Java的基本类型(8个)每个基本类型所占位数与字节数byte 1字节 8位short 2字节 16位int 4字节 32位long 8字节 64位char 2字节 16位float 4字节 32位double 8字节 64位boolean 1字节 8位 2.Int与Integer区别Integer是int的包装类,int则是java的一种基本数据类型Integer变量必须实例化后才能使用,而int变量不需要Integer实际是对象的引用,当new一个Integer时,实

Oracle 笔试题01

数据库:Oracle数据库select面试笔试经典题目 2013-12-13 11:21:55 分类: Oracle number(10):存10位数字,即1234567890 number(10,3):123456.789 varchar2(20):最大存放20个字节的字符,其中每个字符占2个字节,如存入字符串'abc',则实际只占用6个字节空间. null不能用==或者!=比较 ,必须用 is null 或者is not null rownum 返回当前号 rowid是一个伪列,一般情况用不

java面试题01

一.JAVA基础 1.简述你所知道的JAVA修饰符及各自的使用机制?(public.abstract.final.synchronized.super-) 01.public:允许所有客户访问 02.protected:只能在本包,本类以及该类的子类中使用 03.private:只允许在本类中使用 04.abstract:没有提供实现,需要子类提供实现. 05.static:与整个类相关,与单个对象无关. 06.final:final修饰的类,不能被继承 final修饰的方法,不能被重写 fin

JavaWeb学习总结-01 JavaWeb开发入门

一 基本概念 1 Web开发的相关知识 Web,表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. 静态web资源开发技术:HTML 常用动态web资源开发技术:JSP/Servlet.ASP.PHP等 在Java中,动态web资源开发技术统称为J

安卓开发入门与面试题01(潭州安卓开发入门教程)

今天老师讲到安卓的就业市场,说的我都想去面试了,想看看市面上咱们到底可以拿到什么样的工资,做什么样的行业.说来惭愧,我还只是一个安卓开发的新手,今天就和大家一样,开始我的安卓开发梦想启航.这个是潭州安卓开发入门教程里面最基础的. 从来以为学习安卓的都是为了兴趣,原来还可以为了就业,可是好难,就像咱们Android开发入门视频教程QQ群:175229978里面很多人一样,连面试题是哪一些都不懂,不过今天我分享到群里了,也希望在这里可以帮助更多安卓开发入门的小伙伴们. 1.什么是Activity?

一个完整JavaWeb项目历程01 — Hello World

一.环境搭建 后续有时间补上 二.配置运行环境Tomcat 三.创建JavaWeb项目 原文地址:https://www.cnblogs.com/fwbc/p/9125120.html

面试题01

面试题1:下面代码的输出结果是什么,请解释. def extend_list(val, list=[]): list.append(val) return list list1 = extend_list(10) list2 = extend_list(123, []) list3 = extend_list('a') print(list1) print(list2) print(list3) 输出结果: [10, 'a'][123][10, 'a'] 解释: (1)通过 print(id(l

【程序员面试金典】面试题 01.03. URL化

题目 URL化.编写一种方法,将字符串中的空格全部替换为%20.假定该字符串尾部有足够的空间存放新增字符,并且知道字符串的"真实"长度.(注:用Java实现的话,请使用字符数组实现,以便直接在数组上操作.) 示例1: 输入:"Mr John Smith ", 13 输出:"Mr%20John%20Smith" 示例2: 输入:" ", 5 输出:"%20%20%20%20%20" 提示: 字符串长度在[0,

iOS面试题01

1.#import和#include.@class有什么区别?#import<>和#import“”又有什么区别? 答:1.#import和#include都能完整地包含某个文件的内容,#import能防止同一个文件被包含多次: [email protected]仅仅是声明一个类名,并不会包含类的完整声明:@class还能解决循环包含的问题: 3.#import<>用来包含系统自带的文件,#import“”用来包含自定义的文件. 2.属性readwrite.readonly.ass