java牛客刷题2020年9月18日
-
下面有关servlet中init,service,destroy方法描述错误的是?正确答案: D 你的答案: D (正确)
init()方法是servlet生命的起点。一旦加载了某个servlet,服务器将立即调用它的init()方法 service()方法处理客户机发出的所有请求 destroy()方法标志servlet生命周期的结束 servlet在多线程下使用了同步机制,因此,在并发编程下servlet是线程安全的 解释: servlet在多线程下其本身并不是线程安全的。 如果在类中定义成员变量,而在service中根据不同的线程对该成员变量进行更改,那么在并发的时候就会引起错误。最好是在方法中,定义局部变量,而不是类变量或者对象的成员变量。由于方法中的局部变量是在栈中,彼此各自都拥有独立的运行空间而不会互相干扰,因此才做到线程安全。
-
下面哪一项不是加载驱动程序的方法?正确答案: 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");
-
下列说法正确的是()
正确答案: 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,函数都必须用{}括起来,不管是一条语句还是多条语句
-
下面哪些属于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对象)
-
以下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选项为什么不对?
-
下面哪项技术可以用在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)方法将对象捆绑到一个会话