关于jsp和servlet的面试题

1.转发和重定向的区别?
    获取转发器:RequestDispatcher rd=request.getRequestDispatcher(String uri)
    转发:rd.forword(request,response)
    重定向:response.sendRedirect(String uri);
                    转发(forword)             重定向(redirect)
    请求次数        一次                    两次
    地址            项目内部                地址任意
    共用request        yes                         no
    地址变化            no                        yes
2.jsp九大内置对象。   名称                    作用                                作用域
    request            请求对象           客户端的请求信息                        Request
    response           响应对象            客户端的响应                          Page
    pageContext        页面上下文对象      是取得任何范围的参数                  Page
    session            会话对象            识别用户并保存用户信息               Session
    application        应用程序对象         可将信息保存在服务器中                 Application
    out                输出对象            在Web浏览器内输出信息                  Page
    config             配置对象              取得服务器的配置信息                Page
    page               页面对象                代表JSP本身                          Page
    exception          异常对象             显示异常信息                        Page

3.                session和 cookie的区别
    安全性       安全        不安全  
    存储位置    服务器        浏览器
    存储数据    大量        少量
    用法       跟踪会话       记录客户信息
4.                      get请求     和    post请求的区别
    安全性:     不安全                安全
    存储数据      少量                 大量
    本质:get是从服务器上获取数据,post是向服务器提交数据。
5.servlet:扩展web服务器功能的组件规范。
6.jsp:服务器端的动态页面技术规范,本质是一个servlet 
        test.jsp---->test_jsp.java
7.jsp和servlet的区别和联系:
    1.jsp经编译后就变成了Servlet.
    2.jsp更擅长表现于页面显示,servlet更擅长于逻辑控制.
    3.Servlet中没有内置对象,Jsp中有内置对象
    4.两者创建的方式不一样
    5.Jsp是Servlet的一种简化,使用Jsp只需要完成程序员需要输出到客户端的内容,
    Servlet的Service方法用于生成对客户端的响应。
    联系:  JSP是Servlet技术的扩展,本质上就是Servlet的简易方式。
    JSP侧重于视图,Servlet主要用于控制逻辑。
8,jsp的六大动作,作用分别是什么?
    jsp:include:在页面被请求的时候引入一个文件。 
    jsp:useBean:寻找或者实例化一个JavaBean。 
    jsp:setProperty:设置JavaBean的属性。 
    jsp:getProperty:输出某个JavaBean的属性。 
    jsp:forward:把请求转到一个新的页面。
    jsp:plugin:JSP中嵌入Java插件
9.    jsp的三大指令。
    Page:该指令是针对当前页面的指令
    include:用于指定包含另一个页面
    taglib:用于定义和访问自定义标签
10.servlet的生命周期?
    它指的是容器如何创建servlet对象          实例化
    如何对其进行初始化,                     初始化  调用init(),该方法只会执行一次
    如何调其方法来处理请求,                 就绪     调用service(),请求一次,调用一次
    以及如何销毁该对象的过程                 销毁     调用destroy(),该方法只会执行一次
11.servlet和filter的区别?
                            Filter                                           Servlet
接口                  实现Filter接口                                实现Servlet接口
调用方法           doFilter()                                            service()
初始化时间       先初始化                                              后初始化
销毁                 晚于Servlet销毁之后                   服务器停止后销毁
servlet作用  主要是处理客户端的请求并将其结果发送到客户端。
filter作用
    1. 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。
    2. 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。
    3. 在HttpServletResponse到达客户端之前,拦截HttpServletResponse。
    4. 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。
12.bs和cs架构的区别?
    CS响应速度快,安全性强,一般应用于局域网中,但是开发维护成本高;
    BS可以实现跨平台,便于维护,但是个性化能力低,响应速度较慢。
    所以有些单位日常办公应用BS,在实际生产中使用CS结构。

常考面试题 1.讲下servlet的执行流程。 Servlet的执行流程也就是servlet的生命周期,当服务器启动的时候生命周期开始,然后通过init()《启动顺序根据web.xml里的startup-on-load来确定加载顺序》 方法初始化servlet,再根据不同请求调用doGet或doPost方法,最后再通过destroy()方法进行销毁。 2.Get和Post的区别 在页面提交数据时,get的数据大小有限制4k,post没有限制,get请求提交的数据会在地址栏显示,post不显示,所以post比get安全. 3.有三台服务器,如果在一台服务器上登陆了这个用户,其他两台就不能再登陆这个用户,使用session共享,你是怎么做的。 把所有的session的数据保存到Mysql服务器上,所有Web服务器都来这台Mysql服务器来获取Session数据。 4.写一个自定义标签要继承什么类 SimpleTagSupport,一般调用doTag方法 或者实现SimpleTag接口 5.Jsp如何处理json 在 jsp 中处理 JSON,通常需要配套使用 JQuery 控件,并且导入一些 Common jar 包。 使用 JQuery 控件是因为它能有效的解析并且展示 JSON 数据, 导入Common 则是因为 Java 中的对象并不是纯粹的数据,需要通过这些 Jar 包的处理使之转化成真实数据。 6.如何处理Servlet的线程不安全问题 1.最简单的就是不使用字段变量, 2.使用final修饰变量, 3.线程安全就是多线程操作同一个对象不会有问题,线程同步一般来保护线程安全, 所以可以在Servlet的线程里面加上同步方法或同步块。 (Synchronized)可以保证在同一时间只有一个线程访问,(使用同步块会导致性能变差,最好不去使用实例变量) 7.Jsp的重定向和转发的流程有什么区别 重定向是客户端行为,转发是服务器端行为 重定向时服务器产生两次请求,转发产生一次请求,重定向时可以转发到项目以外的任何网址,转发只能在当前项目里转发 重定向会导致request对象信息丢失。转发则不会 转发的url不会变,request.getRequestDispatch().forward() 重定向的url会改变,response.getRedirect().sendRedirect();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值