Java就业班 第2阶段考试题.docx
- 文档编号:11116852
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:28
- 大小:226.15KB
Java就业班 第2阶段考试题.docx
《Java就业班 第2阶段考试题.docx》由会员分享,可在线阅读,更多相关《Java就业班 第2阶段考试题.docx(28页珍藏版)》请在冰点文库上搜索。
Java就业班第2阶段考试题
Java就业班考试题
一、选择题(每题1分,并且每题为单选,共10分)
1、假设在名称为helloapp的Web应用中有一个hello.jsp,它的文件路径如下:
C
%CATALINA_HOME%/webapps/helloapp/hello/hello.jsp,那么在浏览器端访问hello.jsp的URL是什么?
(A)http:
//localhost:
8080/hello.jsp
(B)http:
//localhost:
8080/helloapp/hello.jsp
(C)http:
//localhost:
8080/helloapp/hello/hello.jsp
2、假设在helloapp应用中有一个HelloServlet类,它位于org.javathinker包下,那么这个类的class文件应该放在什么目录下?
D
(A)helloapp/HelloServlet.class
(B)helloapp/WEB-INF/HelloServlet.class
(C)helloapp/WEB-INF/classes/HelloServlet.class
(D)helloapp/WEB-INF/classes/org/javathinker/HelloServlet.class
3、假设在helloapp应用中有一个HelloServlet类,它在web.xml文件中的配置如下:
那么在浏览器端访问HelloServlet的URL是什么?
D
(A)http:
//localhost:
8080/HelloServlet
(B)http:
//localhost:
8080/helloapp/HelloServlet
(C)http:
//localhost:
8080/helloapp/org/javathinker/hello
(D)http:
//localhost:
8080/helloapp/hello
4、HttpServletRequest对象是由谁创建的?
A
(A)由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个HttpServletRequest对象
(B)由JavaWeb应用的Servlet或JSP组件负责创建,当Servlet或JSP组件响应HTTP请求时,先创建HttpServletRequest对象
5、欲从HTTP请求中获得用户的请求参数值,应该调用下面的哪个方法?
A
(A)调用HttpServletRequest对象的getAttribute()方法
(B)调用ServletContext对象的getAttribute()方法
(C)调用HttpServletRequest对象的getParameter()方法
6、ServletContext对象是由谁创建的?
A
(A)由Servlet容器负责创建,对于每个HTTP请求,Servlet容器都会创建一个ServletContext对象
(B)由JavaWeb应用本身负责为自己创建一个ServletContext对象
(C)由Servlet容器负责创建,对于每个JavaWeb应用,在启动时,Servlet容器都会创建一个ServletContext对象
7、jspForward1.jsp要把请求转发给jspForward2.jsp,应该在jspForward1.jsp中如何实现?
B
(A)
(B) forwardpage=“jspForward2.jsp”> 8、下面哪个说法是正确的? B (A)对于每个要求访问maillogin.jsp的HTTP请求,Servlet容器都会创建一个HttpSession对象 (B)每个HttpSession对象都有唯一的ID。 (C)JavaWeb应用程序必须负责为HttpSession分配惟一的ID 9、如果不希望JSP网页支持Session,应该如何办? A (A)调用HttpSession的invalidate()方法 (B)<%@pagesession="false"%> 10、以下代码能否编译通过,假如能编译通过,运行时得到什么打印结果? C request.setAttribute(\"count\",newInteger(0)); Integercount=(Integer)request.getAttribute(\"count\"); (A)不能编译通过 (B)能编译通过,并正常运行 (C)编译通过,但运行时抛出ClassCastException 二、对下面的英文名称进行中文解释(每题2分,共20分) 1、JSPJavaServerPageJava服务网页 2、Servlet小的应用程序 3、Filter过滤器 4、Listener监听器 5、AJAX异步数据访问机制 6、DWRDirectWebRemoting 7、MVCModelViewControl模型视图控制模式 8、DAO数据访问对象 9、JavaScriptjava脚本语言 10、J2EEJava2EnterpriseEditionjava22企业版 三、问答题(每题3分,共30分) 1、请阐述JSP技术的主要优缺点有哪些? 答: (1)writeonce,runererywhere;与平台无关 (2)有九个内置对象 (3)支持各种标签库,可用EL标签,便于美工修改页面 2、请简述Servlet的生命周期 答: init();doPost();doGet();destroy(); 3、描述JSP和Servlet的主要区别? 它们各自应用的范围。 答: JSP是在表示层,用于建立JSP页面,可以与用户直接进行交互,而servlet应用在业务层,是调用DAO层,用doGet()和doPost()方法,执行Http请求。 4、什么是应用服务器(ApplicationServer),它为Web应用程序提供方面的功能支持。 5、简单介绍数据库连接池的主要优点和工作原理是什么? 答: (1)牺牲内存,留出空间 (2)用pool存储对象,buffer存储数据 (3)适合于B/S并发访问,可以提高工作效率,方便用户的查找和修改。 6、请描述web.xml文件的作用有哪些? 为什么要提供它? 答: 寻求servlet容器的地址 7、什么是Web容器(Servlet容器)? 答: Servlet容器是用doGet();或doPost()方法来响应Http请求的。 8、在JSP中如何读取客户端的请求? 如何确定某个JSP文件的真实(物理)路径。 9、什么情况下会调用Servlet类中的doGet()和doPost()方法? 答: doGet()是通过地址调用的,而doPost()是通过Form表单中的method=“post”提交的。 10、请描述AJAX框架DWR的工作原理 答: 先修改web.xml,添加Servlet映射,为DWR添加映射,然后创建dwr.xml,并部署,再使用Javascript调用Java类中的方法 四、编程题(共40分) 1、某个JSP页面中包含有下面的用户登陆表单,请编写一个响应该表单请求的Servlet程序(将所写的程序代码拷贝到Word文档中,并将执行的结果拷屏到Word文档中以便检查)。 (15分) Login.jsp <%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%> DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
您的名称:
您的密码:
Jjservlet
packagecom.jj;
importjava.io.IOException;
importjava.io.PrintWriter;
importjavax.servlet.ServletException;
importjavax.servlet.http.HttpServlet;
importjavax.servlet.http.HttpServletRequest;
importjavax.servlet.http.HttpServletResponse;
publicclassJjservletextendsHttpServlet{
publicJjservlet(){
super();
}
publicvoiddestroy(){
super.destroy();
}
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
doPost(request,response);
}
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
request.setCharacterEncoding("utf-8");
Stringname=request.getParameter("name1");
Stringpassword=request.getParameter("password1");
request.setAttribute("name",name);
request.setAttribute("password",password);
System.out.println("名称为:
"+name);
System.out.println("密码为:
"+password);
request.getRequestDispatcher("/response.jsp").forward(request,response);
}
publicvoidinit()throwsServletException{
}
}
Response.jsp
<%@pagelanguage="java"import="java.util.*"pageEncoding="utf-8"%>
DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN">
<%
Stringname=(String)request.getAttribute("name");
Stringpassword=(String)request.getAttribute("password");
%>
您的名称为:
<%=name%>
您的密码为:
<%=password%>
2、现有如下的数据库表结构,请编程一个DAO组件类(DAO类中的方法自己决定)对该数据库表进行操作(将所写的程序代码拷贝到Word文档中,并将执行的结果拷屏到Word文档中以便检查)。
(15分)
Db.properties
driver=org.gjt.mm.mysql.Driver
logfile=C\:
\\WebRoot.log
mysql.driver=org.gjt.mm.mysql.Driver
mysql.maxconn=1000
mysql.password=123
mysql.url=jdbc\:
mysql\:
//localhost\:
3306/login?
useUnicode\=true&characterEncoding\=utf-8
mysql.user=root
DBConn.java
packagedatabase;
importjava.sql.Connection;
importjava.sql.Date;
importjava.sql.PreparedStatement;
importjava.sql.ResultSet;
importjava.sql.SQLException;
importjava.sql.Statement;
publicclassDBConn{
privatestaticConnectionconn=null;
privateStatementstmt=null;
privatePreparedStatementprepstmt=null;
privatestaticDBConnectionManagerdcm=null;
staticvoidinit(){
dcm=DBConnectionManager.getInstance();
conn=dcm.getConnection("mysql");
}
publicDBConn()throwsException
{
init();
stmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_UPDATABLE);
}
publicDBConn(intresultSetType,intresultSetConcurrency)throwsException
{
init();
stmt=conn.createStatement(resultSetType,resultSetConcurrency);
}
publicDBConn(Stringsql)throwsException{
init();
this.prepareStatement(sql);
}
publicDBConn(Stringsql,intresultSetType,intresultSetConcurrency)
throwsException{
init();
this.prepareStatement(sql,resultSetType,resultSetConcurrency);
}
publicvoidprepareStatement(Stringsql)throwsSQLException{
prepstmt=conn.prepareStatement(sql);
}
publicvoidprepareStatement(Stringsql,intresultSetType,intresultSetConcurrency)
throwsSQLException{
prepstmt=conn.prepareStatement(sql,resultSetType,resultSetConcurrency);
}
publicvoidsetString(intindex,Stringvalue)throwsSQLException{
prepstmt.setString(index,value);
}
publicvoidsetInt(intindex,intvalue)throwsSQLException{
prepstmt.setInt(index,value);
}
publicvoidsetBoolean(intindex,booleanvalue)throwsSQLException{
prepstmt.setBoolean(index,value);
}
publicvoidsetDate(intindex,Datevalue)throwsSQLException{
prepstmt.setDate(index,value);
}
publicvoidsetLong(intindex,longvalue)throwsSQLException{
prepstmt.setLong(index,value);
}
publicvoidsetFloat(intindex,floatvalue)throwsSQLException{
prepstmt.setFloat(index,value);
}
publicvoidsetBytes(intindex,byte[]value)throwsSQLException{
prepstmt.setBytes(index,value);
}
publicvoidclearParameters()
throwsSQLException
{
prepstmt.clearParameters();
prepstmt=null;
}
publicPreparedStatementgetPreparedStatement(){
returnprepstmt;
}
publicStatementgetStatement(){
returnstmt;
}
publicResultSetexecuteQuery(Stringsql)throwsSQLException{
if(stmt!
=null){
returnstmt.executeQuery(sql);
}
elsereturnnull;
}
publicResultSetexecuteQuery()throwsSQLException{
if(prepstmt!
=null){
returnprepstmt.executeQuery();
}
elsereturnnull;
}
publicintexecuteUpdate(Stringsql)throwsSQLException{
if(stmt!
=null)
{
return(stmt.executeUpdate(sql));
}
else
{
return0;
}
}
publicintexecuteUpdate()throwsSQLException{
if(prepstmt!
=null)
{
return(prepstmt.executeUpdate());
}
else
{
return0;
}
}
publicvoidclose()throwsException{
if(stmt!
=null){
stmt.close();
stmt=null;
}
if(prepstmt!
=null){
prepstmt.close();
prepstmt=null;
}
if(conn!
=null)
{
dcm.freeConnection("mysql",conn);
}
}
publicstaticConnectiongetConn(){
init();
returnconn;
}
publicvoidsetAutoCommit(booleanautoCommit)throwsSQLException
{
conn.setAutoCommit(autoCommit);
}
publicvoidcommit()throwsSQLException
{
mit();
}
publicvoidrollback()throwsSQLException
{
conn.rollback();
}
}
DBConnectionManager.java
packagedatabase;
importjava.io.InputStream;
importjava.io.PrintWriter;
importjava.sql.Connection;
importjava.sql.Driver;
importjava.sql.DriverManager;
importjava.sql.SQLException;
importjava.util.Date;
importjava.util.Enumeration;
importjava.util.Hashtable;
importjava.util.Propert
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java就业班 第2阶段考试题 Java 就业 阶段 考试题