美文网首页
JavaWeb面试题一

JavaWeb面试题一

作者: Aluha_f289 | 来源:发表于2018-02-25 18:36 被阅读0次

    1.什么是Servlet

    答:可以从两个方面去看Servlet

    a.API:用来处理客户端请求的程序需要实现的接口

    b.组件:服务端用来处理客户端请求的组件,需要在web.xml文件中配置serlvet和他的映射

    2.Servlet的生命周期

    答.包括加载和实例化,初始化,处理请求以及服务结束。

    这个生存期由javax.servlet,servlet接口中的init、service、destroy方法表达。

    web容器加载servlet,生命周期开始。通过调用servlet中init方法进行servlet的初始化

    通过调用service()方法实现,根据请求的不同调用不同的doGet()或者doPost()方法。结束服务,web容器调用servlet的destroy()方法。

    3.servlet的基本构架

    public class serlvetName extends HttpServlet

    public void init()//初始化方法

    pubilc void doGet()//GET请求处理方法

    pubilc void doPost()//POST请求处理方法

    pubilc void destroy()//销毁

    4.Servlet中GET和Post方法

    doGet()  和doPost()方法,前者处理你表单提交来的method=get的请求,后者处理method=post  的请求  

    get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制所以在上传文件只能使用Post

    get安全性非常低,post安全性较高。但是Get是Form的默认方法,还是要在doGet()中写doPost()请求

    5.Servlet API中forward()【直接请求】和redirect()【间接请求】的区别

    a.分别是RequestDispatcher类的forward()方法和HttpServletRequest类的sendRedirect()方法。

    b.重定向会改变URL地址,请求转发不会改变URL地址

    c.重定向不可以资源共享,而请求转发可以

    d.当你在Servlet中做一件事,事情做完了要跳转到另一个组件时:可以使用重定向

    e.当你在Servlet中做一件事,没有把事情做完了要跳转到另一个组件时:可以使用请求转发

    6.request.getParameter()和request.getAttribute的区别

    a.前者获取到的类型是String,或者获取到的类型是Object

    b.前者获取到的是POST/GET传递的参数值和URL中的参数,后者获取到是

    对象容器中的数据值/对象

    c.request.getAttribute()和equest.setAttribute()可以发送接收对象

    d.request.getParameter()只能接收字符串

    e.setAttribute()是应用服务器把这个对象放在该页面所对应的一块内存中,当你的页面服务器重定向到另一个页面时,应用服务器会把这块内存拷贝到另一页面所对应的那块内存中。这个时候就可以通过getAttribute()获取到相应的参数或对象。

    相关文章

      网友评论

          本文标题:JavaWeb面试题一

          本文链接:https://www.haomeiwen.com/subject/wrwrxftx.html