java牛客刷题2020年9月18日

  1. 下面有关servlet中init,service,destroy方法描述错误的是?正确答案: D 你的答案: D (正确)

    init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法
    service()方法处理客户机发出的所有请求
    destroy()方法标志servlet生命周期的结束
    servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的
    解释:
    servlet在多线程下其本身并不是线程安全的。
    如果在类中定义成员变量,而在service中根据不同的线程对该成员变量进行更改,那么在并发的时候就会引起错误。最好是在方法中,定义局部变量,而不是类变量或者对象的成员变量。由于方法中的局部变量是在栈中,彼此各自都拥有独立的运行空间而不会互相干扰,因此才做到线程安全。
    
  2. 下面哪一项不是加载驱动程序的方法?正确答案: A 你的答案: D (错误)

    通过DriverManager.getConnection方法加载
    调用方法 Class.forName
    通过添加系统的jdbc.drivers属性
    通过registerDriver方法注册
    解释:
    DriverManager.getConnection方法返回一个Connection对象,这是加载驱动之后才能进行的
    加载驱动方法
    1.Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
    2. DriverManager.registerDriver(new com.mysql.jdbc.Driver());
    3.System.setProperty("jdbc.drivers", "com.mysql.jdbc.Driver");
    
  3. 下列说法正确的是()

    正确答案: A B 你的答案: A C (错误)

    JAVA程序的main方法必须写在类里面
    JAVA程序中可以有多个名字为main方法
    JAVA程序中类名必须与文件名一样
    JAVA程序的main方法中,如果只有一条语句,可以不用{}(大括号)括起来
    解释:
    答案:AB
    A,java是强类型语言,所有的方法必须放在类里面,包括main
    B ,java中可以有多个重载的main方法,只有public static void main(String[] args){}是函数入口
    C,内部类的类名一般与文件名不同
    D,函数都必须用{}括起来,不管是一条语句还是多条语句
    
  4. 下面哪些属于JSP内置对象及方法?

    正确答案: A B C D 你的答案: A B C (错误)

    request
    out
    application
    config
    解释:
    答案:ABCD
    JSP内置对象有:
    1.request对象
         客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是HttpServletRequest类的实例。
    2.response对象
         response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是HttpServletResponse类的实例。
    3.session对象
         session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到客户端与服务器断开连接为止。它是HttpSession类的实例.
    4.out对象
         out对象是JspWriter类的实例,是向客户端输出内容常用的对象
    5.page对象
         page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例
    6.application对象
         application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
    7.exception对象
       exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang.Throwable的对象
    8.pageContext对象
    pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本 类名也叫pageContext。
    9.config对象
    config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)
    
  5. 以下JSP代码定义了一个变量,如何输出这个变量的值?

    <bean:define id="stringBean" value="helloWorld"/>

    正确答案: B C D 你的答案: B C D (正确)

    <bean:write name="helloWorld"/>
    <%=stringBean%>
    <bean:write name="stringBean"/>
    <%String myBean=(String)pageContext.getAttribute("stringBean",PageContext.PAGE_SCOPE);%>
    <%=myBean%>
    解释:
    bean:define:定义新字符串常量。
    <bean:define id="stringBean" value="helloWorld"/>定义了一个id为stringBean的字符串
    C选项:<bean:write name="stringBean"/>:该标签将指定的bean的属性值写到当前的JspWriter中,并且可以对输出进行格式化。可在jsp页面中通过bean:write将name属性输出。
    D选项:<%String myBean=(String)pageContext.getAttribute("stringBean",PageContext.PAGE_SCOPE);%>:pageContext是PageContext类的实例,使用pageContext可以访问page、request、session、application范围的变量。
    不知道B选项为什么不对?
    
  6. 下面哪项技术可以用在WEB开发中实现会话跟踪实现?

    正确答案: A B C D 你的答案: A B (错误)

    session
    Cookie
    地址重写
    隐藏域
    解释:
    会话跟踪是一种灵活、轻便的机制,它使Web上的状态编程变为可能。
    HTTP是一种无状态协议,每当用户发出请求时,服务器就会做出响应,客户端与服务器之间的联系是离散的、非连续的。当用户在同一网站的多个页面之间转换时,根本无法确定是否是同一个客户,会话跟踪技术就可以解决这个问题。当一个客户在多个页面间切换时,服务器会保存该用户的信息。
    有四种方法可以实现会话跟踪技术:URL重写、隐藏表单域、Cookie、Session。
    1).隐藏表单域:<input type="hidden">,非常适合步需要大量数据存储的会话应用。
    2).URL 重写:URL 可以在后面附加参数,和服务器的请求一起发送,这些参数为名字/值对。
    3).Cookie:一个 Cookie 是一个小的,已命名数据元素。服务器使用 SET-Cookie 头标将它作为 HTTP
    响应的一部分传送到客户端,客户端被请求保存 Cookie 值,在对同一服务器的后续请求使用一个
    Cookie 头标将之返回到服务器。与其它技术比较,Cookie 的一个优点是在浏览器会话结束后,甚至
    在客户端计算机重启后它仍可以保留其值
    4).Session:使用 setAttribute(String str,Object obj)方法将对象捆绑到一个会话
    
 posted on 2020-09-18 08:47  ben跑的换行符  阅读(241)  评论(0编辑  收藏  举报