java自用考试题

PS:属于转载老师的,本文章为自用考试复习。

目录

选择题

1-5:ABACC

6-10:DACBD

11-15BDAAA

16-20AACDB

21-25:BCAAB

26-29:CDAA

填空题1-7

简述题

1.简述Cookie会话技术

2.简述Session会话技术

3.简述sendRedirect()方法和getRequestDispatcher方法

4.简述使用ServletContext对象中保存/获取共享信息统计特定页面的访问次数

5.简述JDBC执行流程的4个步骤

大题


选择题

1-5:ABACC

1.()有个专门的 xml 文件放sql 语句,便于维护管理,不用在java代码中找这些语句,Mybatis还可以动态生成SQL,提供了一些根据条件生成对应的sql 例如<if> <foreach> 标签。

        A.Mybatis  B.Hibernate  C.View  D.Controller

2.基本类型属性注入需要在属性上使用注解()。使用该注解完成属性注入时,类中无需setter。

        A.@Component  B.@Value  C.@Scan  D.@WebFilter

3.scope是用来设定Bean实例的作用域,其属性的默认值是()

        A.singleton  B.prototype  C.request  D.session

4.()是面向切面编程,可以说是OOP(Object Oriented Programming,面向对象编程)的补充和完善。

        A.MVC  B.SSM  C.AOP  D.DAO

5.在MyBatis配置文件MybatisConfig.xml中加载映射文件,用到( ) 标签。

        A.<settings>  B.<typeAliases> 

        C.<properties>  D.<environments>

6-10:DACBD

6.@RestController注解为一个组合注解,相当于@Controller和()的组合,注解在类上,意味着,该Controller的所有方法都默认加上了()。

        A.@RequestBody          B.@RequestMapping 

        C.@ControllerAdvice     D.ResponseBody

7.在Spring框架中,配置要扫描的组件通常是通过注解()来实现的。在Spring Boot的配置文件中,可以使用()注解指定要扫描的包,从而搜索并注册Spring组件(如控制器、服务、仓库等)。

        A.@ComponentScan  B.@ControllerAdvice 

        C.@Controller             D.@EnableWebMvc

8.HttpServlet类中的()方法,支持使用get或post方式传递数据,即在()方法中,可以通过调用doGet()或doPost()方法来实现。

        A.start()  B.destroy()  C.service()  D.run()

9.创建的Servlet必须继承()类,并实现doGet()和doPost()方法。Servlet创建后必须在web.xml文件中进行配置,Servlet才能生效。

        A.ServletResponse  B.HttpServlet 

        C.HttpsServlet         D.doGetServlet

10.Tomcat要实现的两个核心功能:处理()连接,负责网络字节流与Request和Response对象的转化加载和管理Servlet,处理Request请求。

        A.Request          B.Ftp         C.Servlet          D.Socket

11-15BDAAA

11.重复题

12.JSP可以把JSP页面的执行分成两个阶段,一个是转译阶段,一个是请求阶段。转译阶段可以将JSP页面转换成Servlet类。请求阶段是()的执行,将响应结果发送至客户端。

        A.Http类  B.JSP类  C.Socket类  D.Servlet

13.()用于设置整个页面的相关属性与功能,其语法格式为:<%@() attribute1="value1" attribute2="value2" ...%>

        A.page指令  B.include指令 

C.taglib指令 D.forward指令

14.include动作标记用于告知JSP页面()加载一个文件,即在JSP页面运行时才将文件引入。

        A.动态          B.运态          C.静态          D.初态

15.连接器中的 Adapter 会调用容器的 Service 方法来执行 Servlet,最先拿到请求的是Engine 容器,Engine 容器对请求做一些处理后,会把请求传给自己子容器 Host 继续处理,依次类推,最后这个请求会传给 Wrapper 容器,Wrapper 会调用最终的 Servlet 来处理。在这个调用过程具体使用 Pipeline-Valve 管道。Pipeline-Valve 是(),()是指在一个请求处理的过程中有很多处理者依次对请求进行处理,每个处理者负责做自己相应的处理,处理完之后将再调用下一个处理者继续处理。

        A.责任链模式          B.工厂模式 

        C.适配器模式          D.装饰器模式

16-20AACDB

16.在类上用( ) 注解Spring组件,表明这些类的bean由spring容器管理。

        A.@Component          B.@Service

        C.@Override              D.@WebFilter

17.XML配置文件的根元素是( ),其可以包含多个子元素<bean>。

        A.<beans>          B.<constructor-arg>          C.<input>          D.<form>

18.控制反转( ),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。

        A.DI          B.AOP          C.IoC          D.DAO

19.在MyBatis配置文件MybatisConfig.xml中加载映射文件,用到( ) 标签。

        A.statement          B.constructor-arg 

        C.properties         D.mappers

20.根据注解把url请求与Controller联系起来,就是根据注解实现哪个url请求调用Controller哪个方法(( )(value = "/hello"))

        A.@Controller          B.@RequestMapping 

        C.@Value          ​​​​​​​       D.ResponseBody

21-25:BCAAB

21.在Sprig的配置文件中,配置要扫描用( )来搜索spring控件。

        A.requestScope          B.context:component-scan 

        C.environment            D.plugin

22.在运行阶段,当Web 服务器接收到浏览器的访问请求后,会将该请求传给Servlet容器,调用( )方法。

        A.init()          ​​​​​​​B.destroy()          ​​​​​​​C.service()          D.run()

23.使用response对象的( )方法可以添加相应的用户名与密码Cookie信息。

        A.addCookie()          B.flushBuffer() 

        C.setPath()               D.doGet

24.Tomcat要实现的两个核心功能是:( )和处理Socket连接,负责网络字节流与Request和Response对象的转化。

        A.加载和管理Servlet,以及具体处理Request请求

        B.实现对数据库的读写

        C.在遵循JavaBean规范的基础上创建一个Java类,并将其保存为*.java文件

        D.管理对象的全部生命周期

25.( )提供了一个处理HTTP协议的框架。

        A.ServletContext         B.HttpServlet 

        C.WebServlet              D.HttpServletRequest

26-29:CDAA

26.Web开发技术可分为静态Web开发技术和动态Web开发技术。现实中常用的Web静态技术有( )和XML两种。

        A.ASP          ​​​​​​​B.PHP          ​​​​​​​C.HTML          D.JSP

27.Tomcat的Servlet容器是( )

        A.HTTP服务器          B.Coyote连接器 

        C.Processor              D.Catalina

28.脚本小程序是指在( )之间插入的Java程序段。

        A."<%" 和 "%>"          B."<" 和 "/>" 

        C."%" 和 "%"              D."<tb" 和 "/tb>"

29.Tomcat的启动流程为( )

A.启动Tomcat->调用main方法->调用init方法->调用load方法->初始化并构造Digester对象->调用后续组件的初始化操作

B.启动Tomcat->调用main方法->调用load方法->调用init方法->初始化并构造Digester对象->调用后续组件的初始化操作

C.启动Tomcat->初始化并构造Digester对象->调用init方法->调用load方法->调用main方法->调用后续组件的初始化操作

D.启动Tomcat->初始化并构造Digester对象->调用load方法->调用init方法->调用main方法->调用后续组件的初始化操作


填空题1-7

1.Tomcat设计了4种容器:Engine,Host,Context和Wrpper。这4种容器不是平行关系,而是父子关系

2.在RequestDispatcher接口中定义了两种方法:forward()方法和include()方法,其中include()方法用于在响应中包含其他资源的内容。

3.为了保存会话过程中产生的数据,在Servlet技术中,提供了两个用于保存会话数据的对象,分别是CookieSession。其中Cookie用于将会话过程中的数据保存到用户的浏览器中,从而使浏览器和服务器可以更好地进行数据交互。

4.MVC模式,全称为Model-View-Controller,是一种软件设计模式,用于将应用程序的逻辑、数据和用户界面分离。这种模式有助于实现代码的模块化和可维护性,使得应用程序的开发、测试和维护变得更加容易。MVC模式主要由三个部分组成

5.ORM(Object Relational Mapping)对象关系映射,一般指持久化数据和实体对象之间的映射。具体映射有多个层次。

6.Servlet的生命周期可以分为3个阶段,分别是初始化阶段、运行时阶段销毁阶段 

7.JDBC是一套用于执行SQL语句的Java API。应用程序可通过这套API连接到关系型数据

库,并使用SQL语句来完成对数据库中数据的查询、更新、新增和删除/增删改查的操作。


简述题

1.简述Cookie会话技术

Cookie 是一种会话技术。

它用于将会话过程中的数据保存到用户的浏览器中,从而使浏览器和服务器可以更好地进行数据交互。当该浏览器再次访问服务器时,都会在请求头中将Cookie 发送给服务器,方便服务器对浏览器做出正确的响应。

2.简述Session会话技术

Session是一种将会话数据保存到服务器端的技术。

当浏览器访问Web服务器时,Servlet容器就会创建一个Session对象和ID属性,

当客户端后续访问服务器时,只要将标识号传递给服务器,服务器就能判断出该请求是哪个客户端发送的,从而选择与之对应的Session对象为其服务。

3.简述sendRedirect()方法和getRequestDispatcher方法

使用sendRedirect()方法实现请求重定向

使用RequestDispatcher实现请求转发

利用ServletRequest接口中的getRequestDispatcher()方法可以得到RequestDispatcher 对象

4.简述使用ServletContext对象中保存/获取共享信息统计特定页面的访问次数

要在ServletContext对象中保存共享信息,可以调用该对象的setAttribute()方法

要获取共享信息,可以调用该对象的getAttribute()方法。

调用setAttribute()方法将访问计数保存到上下文对象中,新增一次访问时,调用getAttribute()方法从上下文对象中取出访问计数加1,然后再调用setAttribute()方法保存回上下文对象中

5.简述JDBC执行流程的4个步骤

A.加载DriverManager.getConnection,获取conn

B.获取conn.createStatement

C.发送SQL语句,返回结果集,用到代码是s.executeQuery

D.处理结果集,通过遍历结果集获取记录


大题

根据给定的配置文件,编写Java类。

1.根据web.xml, welcome.html文件,编写welcomeServlet类,实现当用户通过浏览器输入用户名,浏览器显示欢迎信息。

web.xml:

<welcome-file-list>

<welcome-file>welcome.html</welcome-file>

</welcome-file-list>

welcome.html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>欢迎</title>

</head>

</body>

<form action="WelcomeServlet" method="get">

请输入用户名:<input type="text" name="username"><br/>

<input type="submit"value"提交">

</form></body></html>

【答案】

public class WelcomeServlet extends HttpServlet {

 private String greeting;

@Override

 public void init() throws ServletException {

 super.init();

 greeting = getServletConfig().getInitParameter("greeting"); }

@Override

 protected void doGet(HttpServletRequest request, HttpServletResponse response)

 throws ServletException, IOException {

 request.setCharacterEncoding("UTF-8");

 String username = request.getParameter("username");

 String welcomeinfo = greeting + "," + username;

 response.setContentType("text/html");

 PrintWriter out = response.getWriter();

 out.println("<html><head><title>");

 out.println("Welcome Page");

 out.println("</title></head><body>");

 out.println(welcomeinfo);

 out.println("<boday></html>");

 out.close();

 }

}

2.根据web.xml,login.html,welcome.html和return.html,编写LoginServlet类,实现请求重定向,即登录的用户名和密码正确,将请求重定向到欢迎页面,错误重定向返回登录页面。

web.xml:

<welcome-file-list>

<welcome-file>welcome.html</welcome-file>

</welcome-file-list>

login.html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>login</title>

</head>

<body>

<form action="LoqinServlet" method="post">

账号:<input type="text" name-"username"><br>

密码:<input type="password" name="password"><bn><input type=" submit" value=" 登录">

</form></body></html>

welcome. html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>欢迎</title>

</head>

<body>

欢迎登录

</body>

</html>

return.html:

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>return</title>

</head>

<body>

用户名或者密码错误,请重新登录

<a href="login.html">返回登录</a>

</body>

</html>

【答案】

public class LoginServlet extends HttpServlet {

 @Override

 protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

 response.setContentType("text/html;charset=utf-8");

String name = request.getParameter("username");

 String pwd = request.getParameter("password");

if(("hxstu").equals(name) &&("123456").equals(pwd)) {

response.sendRedirect(request.getContextPath()+"/welcome.html");

 return;

 } else {

response.sendRedirect(request.getContextPath()+"/return.html");

 return; 

 }}

------------分割线---------------

菜鸟古古 2024年6月18日20:47:25

  • 12
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值