JAVA web应用开发知到智慧树期末考试答案题库2024年秋山东建筑大学_第1页
JAVA web应用开发知到智慧树期末考试答案题库2024年秋山东建筑大学_第2页
JAVA web应用开发知到智慧树期末考试答案题库2024年秋山东建筑大学_第3页
JAVA web应用开发知到智慧树期末考试答案题库2024年秋山东建筑大学_第4页
JAVA web应用开发知到智慧树期末考试答案题库2024年秋山东建筑大学_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

添加学生JAVAweb应用开发知到智慧树期末考试答案题库2024年秋山东建筑大学/zhs/question-import/formula/202401/1e97acb34903489b853378d11b7fbc7b.png

A:B:C:D:

答案:已知a.jsp位于项目cj的根目录下,其中的代码为:则在地址栏输入http://localhost:8080/cj/a.jsp结果为()。

A:20张三B:张三20C:20D:张三

答案:张三20对于如下代码,ApplicationContextcontext=newClassPathXmlApplicationContext("beans.xml");以下说法正确的是:()

A:上面代码为FileSystemXmlApplicationContext构造方法提供XML文件所在文件系统中的完整路径B:FileSystemXmlApplicationContext容器会在一个Web应用的范围内加载在XML文件中定义的BeanC:上面代码为ClassPathXmlApplicationContext构造方法提供位于CLASSPATH下的XML文件路径D:ClassPathXmlApplicationContext容器会在一个Web应用的范围内加载在XML文件中定义的Bean

答案:上面代码为FileSystemXmlApplicationContext构造方法提供XML文件所在文件系统中的完整路径已知a.jsp位于项目cj的根目录下,其中的代码为::${param.age+5},则运行http://localhost:8080/cj/a.jsp?Age=10的结果为()。

A:5B:15C:10D:"param.age+5"

答案:15已知ServletA和ServletB的核心代码为:@WebServlet(name="ServletA",urlPatterns={"/ServletA"},loadOnStartup=2)publicclassServletAextendsHttpServlet{publicServletA(){System.out.println("ServletAstart");}...}@WebServlet(name="ServletB",urlPatterns={"/ServletB"},loadOnStartup=1)publicclassServletBextendsHttpServlet{publicServletB(){System.out.println("ServletBstart");}...}则运行后控制台的输出结果为:()。

A:ServletBstartB:ServletBstartServletAstartC:ServletAstartServletBstartD:ServletAstart

答案:ServletBstartServletAstart在Servlet中获得初始化参数的方法是()。

A:getSessionB:getAttributeC:getParameterD:getInitParameter

答案:getAttribute已知代码为:<%session.setAttribute("userName","session");application.setAttribute("userName","application");%>,则${userName}的结果为()。

A:requestB:sessionC:pageD:application

答案:sessionjavax.servlet.http.HttpSessionActiveListener接口包括2个抽象方法:()

A:valueDidActivate(HttpSessionEventarg0):用于监听HttpSession对象的钝化B:valueWillPassivate(HttpSessionEventarg0):用于监听HttpSession对象的激活C:sessionWillPassivate(HttpSessionEventarg0):用于监听HttpSession对象的激活。D:sessionDidActivate(HttpSessionEventarg0):用于监听HttpSession对象的钝化

答案:sessionDidActivate(HttpSessionEventarg0):用于监听HttpSession对象的钝化###sessionWillPassivate(HttpSessionEventarg0):用于监听HttpSession对象的激活。javax.servlet.ServletContextAttributeListener接口包括如下3个抽象方法:()

A:attributeAdded(ServletContextAttributeEventarg0):用于监听对ServletContext属性的增加B:attributeRemoved(ServletContextAttributeEventarg0):用于监听对ServletContext属性的删除C:attributeReplaced(ServletContextAttributeEventarg0):用于监听对ServletContext属性的修改D:add(Configconfig):用于监听对ServletContext属性的增加

答案:attributeAdded(ServletContextAttributeEventarg0):用于监听对ServletContext属性的增加###attributeRemoved(ServletContextAttributeEventarg0):用于监听对ServletContext属性的删除###attributeReplaced(ServletContextAttributeEventarg0):用于监听对ServletContext属性的修改Spring框架为企业级应用开发提供了一个轻量级解决方案,主要特点如下:()。

A:以依赖注入为核心(IOC)B:支持AOP声明式事务管理C:支持与多种持久层技术整合D:提供了Template功能方便快速开发E:支持与多种WebMVC框架整合

答案:以依赖注入为核心(IOC)###支持与多种持久层技术整合###提供了Template功能方便快速开发###支持AOP声明式事务管理###支持与多种WebMVC框架整合经常使用的ApplicationContext接口的实现主要有:()

A:ClassPathXmlApplicationContext:该容器从XML文件中加载已被定义的Bean。需要为其构造方法提供位于CLASSPATH下的XML文件路径。B:MyContextC:WebXmlApplicationContext:该容器会在一个Web应用的范围内加载在XML文件中定义的BeanD:FileSystemXmlApplicationContext:该容器从XML文件中加载已被定义的Bean。需要为其构造方法提供XML文件所在文件系统中的完整路径。

答案:ClassPathXmlApplicationContext:该容器从XML文件中加载已被定义的Bean。需要为其构造方法提供位于CLASSPATH下的XML文件路径。###WebXmlApplicationContext:该容器会在一个Web应用的范围内加载在XML文件中定义的Bean###FileSystemXmlApplicationContext:该容器从XML文件中加载已被定义的Bean。需要为其构造方法提供XML文件所在文件系统中的完整路径。常用的基于Java的AOP实现有:()

A:SpringAOPB:AspectJC:AspectWerkzD:JBossAOP

答案:JBossAOP###SpringAOP###AspectJ###AspectWerkzJavaWeb层组件包括:()

A:监听器B:JSPC:过滤器D:Servlet

答案:监听器###JSP###Servlet###过滤器使用XML配置SpringMVC的步骤包括:()

A:配置SpringWeb配置文件B:配置DispatcherServletC:配置后端Bean配置文件D:指定后端Bean配置文件E:指定SpringWeb配置文件

答案:指定后端Bean配置文件###指定SpringWeb配置文件###配置后端Bean配置文件###配置SpringWeb配置文件###配置DispatcherServlet的作用是给user对象的userName属性赋值为张三()

A:对B:错

答案:对已知a.jsp位于项目cj的根目录下,其中的代码为:dddd,则在地址栏输入:http://localhost:8080/cj/a.jsp?sex=男的结果为男()

A:对B:错

答案:对在Web服务器Tomcat的%Tocmat%conf/server.xml文件中,节点的reloadable属性设置为false,表示设置该Web应用的启动模式为运行模式,即Tomcat不会自动扫描和加载该Web应用中修改的Servlet。()

A:对B:错

答案:B:错如果将``节点的`reloadable`属性设置为`false`,意味着Tomcat不会自动重新加载修改后的Servlet或其他资源。但是题目描述中提到的是“启动模式为运行模式”,这并不是`reloadable`属性的主要功能。因此这个描述是不准确的。`reloadable`设置为`true`才表示可以自动重新加载修改过的类文件等资源。过滤器本身能生成请求和响应对象并提供过滤作用。()

A:错B:对

答案:错Java的本地事务使用java.sql.Connection类进行控制。()

A:对B:错

答案:对构造方法注入是指通过构造方法注入Bean的属性或依赖对象,是Spring另外一种常用的注入方式,需要使用标签配置构造方法需要的参数。()

A:错B:对

答案:对在JSP+Servlet+JavaBean开发模式中,Servlet充当控制器()。

A:对B:错

答案:对织入是指将增强添加到目标类的具体连接点上的过程。()

A:对B:错

答案:A:对过滤器必须实现javax.servlet.Filter接口。()

A:对B:错

答案:A:对和一样,都是只能包含同一个Web应用下的文件;()

A:对B:错

答案:错在JSP+Servlet+JavaBean开发模式中,JavaBean用于编写业务逻辑()。

A:对B:错

答案:对的作用是将与请求参数中与user对象属性同名的参数值赋值给user对象的同名属性。()

A:对B:错

答案:对setter注入时,Spring容器读取beans.xml文件,通过反射机制创建User的实例user,并通过其setter方法为属性赋值。()

A:错B:对

答案:对配置一个Java类为过滤器的注解是@WebConfig。()

A:对B:错

答案:对定义表达式语言函数的类的方法必须是static和public的()

A:错B:对

答案:对配置一个Java类为过滤器的注解是@WebFilter。()

A:错B:对

答案:B:对`@WebFilter`注解确实是用来配置一个Java类作为过滤器的。这个注解通常用于Servlet过滤器中,以定义过滤器的URL模式和其他相关属性。代码:Stringvalue=sce.getServletContext().getInitParameter("varName");的含义是从web.xml中获取参数名为test的值。()

A:对B:错

答案:错在JSP中只能使用脚本段代码访问JavaBean,不能使用动作元素访问JavaBean。()

A:错B:对

答案:错配置过滤器的映射路径,使用的是标签。()

A:错B:对

答案:对每个类都拥有多个连接点,但是我们可能只关心其中的几个连接点。AOP通过切点来定位特定的连接点。()

A:错B:对

答案:B:对java.sql.Statement是java.sql.PreparedStatement的子接口。()

A:对B:错

答案:错的作用是把user对象的userName属性赋值为name参数的值。()

A:对B:错

答案:错已知JavaBean

WorkerBean类的定义如下packagea;publicclassWorkerBean{

privateintworkerId=0;privateStringworkerName="无名";privateintworkerAge=0;//setter、getter、构造方法略}input.jsp的核心代码如下:input_do.jsp的核心代码如下:从input.jsp跳转到input_do.jsp后,请写出input_do.jsp中worker的各个属性值是什么,并写出理由。

答案:以下是`input_do.jsp`中`worker`的各个属性值及其理由:-`workerId`:0-`workerName`:"无名"-`workerAge`:35理由:-`id`和`name`的名称与`WorkerBean`类中的属性名称不匹配(即`workerId`和`workerName`),因此它们不会被设置。-`workerAge`的名称与`WorkerBean`类中的属性名称匹配,因此会被设置为表单中提供的值35。已知:在学院竞赛管理信息系统中有比赛基本信息表competition,该表的字段有cid(int类型,主键)、cname(varchar类型,竞赛名)、clevel(varchar类型,竞赛级别),请使用JSP+Servlet+JavaBeanMVC开发模式完成如下要求的功能模块的设计和实现。(1)

请写出显示竞赛列表的JSP页面(CompetitionList.jsp),且该页面有新增竞赛的超链(点击后跳转到新增页面AddCompetition.jsp);每条员工记录右方存在编辑和删除的超链接(用于实现编辑(EditCompetition.jsp)和删除员工)。(2)

请写出JavaBean类Competition.java,该类中除有与表competition对应的属性外,还包括查询全部员工的方法的完整代码、增加员工的方法定义。使用DBConnection数据库帮助类完成获取连接和关闭资源对象等操作,假定DBConnection已经存在。注意JavaBean类Employee的属性及getter和setter方法不用写,增加方法只写定义描述,不用写具体代码(3)

请写出充当控制器的一个Servlet:CompetitionServlet,用于实现竞赛列表、增加竞赛的操作。

答案:A.CompetitionList.jspB.Competition.javaC.CompetitionServlet.java已知类定义如下:@WebFilter(filterName="filter1",value={"/*"})publicclassURLFilter

implementsFilter{publicvoidinit(FilterConfigconfig)throwsServletException{

System.out.println("URLFilter

initialize");}

publicvoiddestroy(){}

@Override

publicvoiddoFilter(ServletRequestrequest,ServletResponseresponse,FilterChainchain)throwsServletException,IOException{

System.out.println("handlingrequest");

chain.doFilter(request,response);

System.out.println("handlingresponse");

}}请回答下面的问题:(1)解释这段代码的含义(2)若通过客户端重定向的方式访问同工程项目下的某JSP文件,请写出控制台输出的信息

答案:(1)这段代码定义了一个名为`URLFilter`的过滤器类。该过滤器实现了`Filter`接口,并且在`@WebFilter`注解中指定了过滤器名称为`filter1`并且对所有请求路径进行过滤(`value={"/*"}`)。具体方法实现包括:-`init`方法:当容器初始化过滤器时调用。-`destroy`方法:当容器销毁过滤器时调用。-`doFilter`方法:实际处理请求和响应的核心方法,在该方法中可以执行自定义逻辑,并通过`chain.doFilter(request,response)`放行请求。(2)如果通过客户端重定向的方式访问同工程项目下的某JSP文件,控制台输出的信息如下:```URLFilterinitializehandlingrequesthandlingresponse```请注意,`URLFilterinitialize`只会在服务器启动并且初始化该过滤器时输出一次,而`handlingrequest`和`handlingresponse`会针对每次请求输出。然而,对于客户端重定向来说,浏览器会发送一个新的请求到指定的位置,这个新的请求仍然会被过滤器拦截并处理。但是,由于重定向是客户端行为,因此原始请求会被终止,并不会触发`handlingresponse`。这里假设的是标准的过滤器行为,即每个请求都会经过过滤器的`doFilter`方法。假如有2个实体:团队Team和成员Member。程序需要在显示Team实体状态时显示Member实体的状态,在显示Member实体状态时显示所属Team。请回答如何使用JPA时,这2个实体应该使用何种映射关系?并描述在这2个实体的哪些属性上分别使用哪些注解实现上述映射。

答案:选项:A.OneToOneB.OneToManyC.ManyToOneD.ManyToMany具体映射关系应为:`B.OneToMany`和`C.ManyToOne`。注解应用如下:-在`Team`实体中使用`@OneToMany`注解来表示一个团队可以有多个成员。-在`Member`实体中使用`@ManyToOne`注解来表示一个成员属于一个团队。已知某一工程项目(项目名为:competition)中的Servlet定义如下@WebServlet(name="SubjectServlet",value="/SubjectServlet")publicclassSubjectServletextendsHttpServlet{

@OverrideprotectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{Stringsubjectvalue=request.getParameter(‘subjectvalue’)

PrintWriterout=response.getWriter();

if(subjectvalue.equal(‘001’)){

out.println("JavaWeb应用开发");}else{

out.println("其他课程");}

}}假设项目安装在本地,访问端口为8080,请回答下面的问题:(1)写出在浏览器地址栏中输入http://localhost:8080/SubjectServlet?subjectvalue=001

后,界面显示的内容(2)写出与该Servlet功能等价的JSP文件的源代码

答案:(1)界面显示的内容为:JavaWeb应用开发(2)与该Servlet功能等价的JSP文件的源代码如下:```jsp<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%Stringsubjectvalue=request.getParameter("subjectvalue");%><%if(subjectvalue.equals("001")){%>JavaWeb应用开发<%}else{%>其他课程<%}%>```使用JSP+Servlet+JavaBeanMVC开发模式编写一个添加学生的功能。其中,学生表为:stuId(学号、主键,char类型)stuName(学生姓名,varchar类型)money(钱数,int类型)memo(备注信息,varchar类型)假设获得数据库连接的DBConnection.java已经存在,不用编写。要求编写的代码为:(1)addStudent.jsp:添加学生的jsp页面,位于项目的根目录。(2)AddStudentServlet.java:接收添加学生的jsp页面传过来的数据的Servlet

,在AddStudentServlet中调用StudentBean的insert方法,将学生信息插入到数据库的student表中,然后调用StudentBean的listStudent方法将查询出来的所有学生数据放到request中,并跳转到项目根目录下的listStudent.jsp页面。(不用编写listStudent.jsp页面)(3)StudentBean.java:编写能够插入学生信息的StudentBean,具有学生的基本属性(getter和setter方法可以不写)、插入学生数据的insert方法和查询学生的listStudent方法。

答案:1.addStudent.jsp```jsp<%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%>学号:

姓名:

钱数:

备注:

```2.AddStudentServlet.java```javaimportjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.io.IOException;@WebServlet("/AddStudentServlet")publicclassAddStudentServletextendsHttpServlet{privatestaticfinallongserialVersionUID=1L;protectedvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{StringstuId=request.getParameter("stuId");StringstuName=request.getParameter("stuName");intmoney=Integer.parseInt(request.getParameter("money"));Stringmemo=request.getParameter("memo");StudentBeanstudent=newStudentBean(stuId,stuName,money,memo);student.insert();request.setAttribute("students",student.listStudent());request.getRequestDispatcher("/listStudent.jsp").forward(request,response);}}```3.StudentBean.java```javaimportjava.sql.Connection;importjava.sql.PreparedStatement;importjava.sql.ResultSet;importjava.util.ArrayList;importjava.util.List;publicclassStudentBean{privateStringstuId;privateStringstuName;privateintmoney;privateStringmemo;publicStudentBean(StringstuId,StringstuName,intmoney,Stringmemo){this.stuId=stuId;this.stuName=stuName;this.money=money;this.memo=memo;}publicvoidinsert(){Stringsql="INSERTINTOstudent(stuId,stuName,money,memo)VALUES(?,?,?,?)";try(Connectionconn=DBConnection.getConnection();PreparedStatementpstmt=conn.prepareStatement(sql)){pstmt.setString(1,stuId);pstmt.setString(2,stuName);pstmt.setInt(3,money);pstmt.setString(4,memo);pstmt.executeUpdate();}catch(Exceptione){e.printStackTrace();}}publicListlistStudent(){Liststudents=newArrayList<>();Stringsql="SELECT*FROMstudent";try(Connectionconn=DBConnection.getConnection();PreparedStatementpstmt=conn.prepareStatement(sql);ResultSetrs=pstmt.executeQuery()){while(rs.next()){StudentBeanstudent=newStudentBean(rs.getString("stuId"),rs.getString("stuName"),rs.getInt("money"),rs.getString("memo"));students.add(student);}}catch(Exceptione){e.printStackTrace();}returnstudents;}}```下面是某工程项目中名为CompetitionBean的JavaBean类代码:publicclassCompetitionBean{

privateintid;privateStringcname;privateDatecdate;

publicCompetitionBean(intid,Stringcname){

this.id=id;

ame=cname;

}

publicintgetId(){

returnid;

}

publicvoidsetId(intid){

this.id=id;

}

publicStringgetCname(){

returncname;

}

publicvoidsetCname(Stringcname){

ame=cname;

}}请回答下面的问题:(1)上面CompetitionBean类的代码不完全符合JavaBean规范,请指出不符合的地方(2)补充相关代码使其完全符合JavaBean规范

答案:(1)不符合JavaBean规范的地方:-没有提供无参构造函数。-`Datecdate`字段没有对应的getter和setter方法。(2)为了使`CompetitionBean`类完全符合JavaBean规范,需要补充以下代码:```javapublicclassCompetitionBean{privateintid;privateStringcname;privateDatecdate;//提供无参数的构造函数publicCompetitionBean(){}//提供包含id和cname参数的构造函数public

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论