计算机答辩常见问题汇总(一)

答辩过程中,老师问的问题一般都和你的设计有关,特别是设计中的一些关键技术,比如:

数据库链接方式,数据库设计中的 ER 图、范式等。一般不会太难,都是一些学过的知识。

用到的所有概念都了解(例如用的 MVC 设计模式、SSM 框架)都要知道概念和优缺点

都是增删改查操作

毕业答辩问题与答案(回答一定要温柔,不要顶嘴)

遇到不会的问题:

1SSM 框架是指什么,其优缺点,怎样用到在你的程序里

Spring:全栈轻量级开源框架

容器框架,可以接管 web 层业务层,dao 层,持久层的合格组件,并且可以

配置各种 bean

spring MVC:基于 Java 实现的 MVC 设计模式请求驱动类型的轻量级 Web 框架

mybatis:持久层的一个框架,方便对数据库操作,封装 JDBC,原始 jdbc 操作繁琐

核心逻辑代码在 controlle

Controller 层通过调用 servi

里面

l 里的接口调用 mybatis 层的 mapper 里的 SQL 语句

trollercontroller 再返回给前端 view 层显示

SQL 语句执行完毕后反馈数据

业务逻辑:controller->service 接口->serviceimpl->dao 接口->daoimpl->mapper->datebase

Controller 入口->service 业务逻辑处理(接口)->dao 访问数据库->引用 mapper 最终执

行数据库->引用 entity 与数据库的映射对象

Controller 是控制器,连接页面请求服务器获取页面请求的参数,通过自动装配映

射不同的 url 到相应的处理函数。

访问数据库通过 dao 层。Dao 是数据库接口,只是一个接口,实际的实现都在 mapper

里面

2Mybatis

mybatis 是一个优秀的基于 java 的持久层框架,它内部封装了 jdbc,使开发者只需要关注

sql 语句本身,而不需要花费精力去处理加载驱动、创建连接、创建 statement 等繁杂的过

程。

mybatis 通过 xml 或注解的方式将要执行的各种 statement 配置起来,并通过 java 对象和

statement  sql 的动态参数进行映射生成最终执行的 sql 语句,最后由 mybatis 框架执行

sql 并将结果映射为 java 对象并返回。

MyBatis 的主要设计目的就是让我们对执行 SQL 语句时对输入输出的数据管理更加方便,

所以方便地写出 SQL 和方便地  SQL 的执行结果才是 MyBatis 的核心竞争力。

3打开代码,介绍一下这

能的 mapper 的作用是什么?

mapper 层的作用是对数据库进行数据持久化操作,他的方法语句是直接针对数据库操作的

现在用 mybatis 逆向工程生成的。

mapper 层,其实就是 dao 层,主要是做数据持久层的工作,负责与数据库进行联络的一

些任务都封装在此。

其设计首先是设计 DAO 的接口,然后在 Spring 的配置文件中定义此接口的实现类,然后就

可在模块中调用此接口来进行数据业务的处理,而不用关心此接口的具体实现类是哪个类,

显得结构非常清晰。

4JDBC

Java 数据库连接, Java 语言中用来规范客户端程序如何来访问数据库的应用程序接口

提供了诸如查询和更新数据库中数据的方法。

5jQuery

UI 前端框架

实现网页的客户端响应效果

6B/S  C/S 架构的区别?

BS:(Browser/Scrver,浏览器/服务器模式),web 应用可以实现跨平台,客户端零维护,但是个

性化能力低,响丛速度较慢。

.CS:(Client/Server,客户端/服务器模式),桌面级应用响应速度快,安全性强,个性化能力强,

响应数据较快

一、网络不同

1b/s 架构:b/s 架构主要用于外网,可通过广域网进行访问。

2c/s 架构:c/s 架构主要用于内网,建立在专用的网络上,小范围里访问。

二、安全性不同

1b/s 架构:b/s 架构的安全性较低,容易受到他人的网络入侵。

2c/s 架构:c/s 架构的安全性较高,封闭式网络不容易容易受到他人的网络入侵。

C/S:全称是 Client/Server ,是客户端/服务器架构。主要应用于局域网内。是一种典型的

两层架构。客户端:用户程序(表示层) 服务器端:一种是数据库服务器,一种是 Socket

服务器。(数据库层)

B/S       Browser/Server     /          广    

Browser 客户端:只有简单的输入输出功能

webapp 服务器端:

数据库端:存放大量数据

7springMVC 工作原理

SpringMVC  DispatcherServlet(前端控制器)为核心

负责协调和组织不同组件以完成请求处理并返回响应的工作,实现了 MVC 模式

1.Spring  SpringMvc 的关系:

SpringMVC 是一个 MVC 的开源框架,SpringMVC  Spring 的一个后续产品,其实就是

Spring 在原有基础上,又提供了 web 应用的 MVC 模块,可以简单的把 SpringMVC 理解为是

spring 的一个模块(类似 AOPIOC 这样的模块),网络上经常会说 SpringMVC  Spring 

缝集成,其实 SpringMVC 就是 Spring 的一个子模块,所以根本不需要同 spring 进行整合。

SpringMvc 工作流程

第一步:用户发起请求到前端控制器DispatcherServlet

第二步:前端控制器请求处理器映射器HandlerMappering)去查找处理器(Handle):通

 xml 配置或者注解进行查找

第三步:找到以后处理器映射器(HandlerMappering )像前端控制器返回执行链

HandlerExecutionChain

第四步:前端控制器(DispatcherServlet)调用处理器适配器HandlerAdapter)去执行

理器(Handler

第五步:处理器适配器去执行 Handler

第六步:Handler 执行完给处理器适配器返回 ModelAndView

第七步:处理器适配器向前端控制器返回 ModelAndView

第八步:前端控制器请求视图解析器(ViewResolver)去进行视图解析

第九步:视图解析器像前端控制器返回 View

第十步:前端控制器对视图进行渲染

第十一步:前端控制器向用户响应结果

8SSM 业务逻辑

Controller 通过调用 serviceimpl 里的接口调用 model 层的 mapper 里的 sql 语句,sql 执行完

毕后反馈数据给 controller 层,controller 再返回给前端 view 层显示

Eg:商品编辑功能

1 页面点击编辑按钮,form 表单中的 action=communitylist”响应,communitylist

 controller 中的@requstMapping(/***)中的参数一样

2 controller 层从前端页面

提交的参数,创建 map 对象,封装参数于 map 

  service             map           

request.setAttribute(  commodity  , commodity); notice  @controller

@requestMaping  controller 中每创建一个对象都要引入注解@Autowired

3 serviceimpl    service               

@Service(CommodityService)

同时在实现层创建 Dao 层的对象也需要加入自动注入@Autowired 这个注解。在重

写方法上加入重写注解@override

并在重写方法中调用 DAO 层的方法。

4 dao 层引入注解@mapper,在 mapper 层的.xml 文件中进行 sql 语句的操作。

5 其中的 namespace 中写的是 dao 层的全路径;其中增删改查标签中的 id  Dao 

对应的方法名

9JavaScript

 HTML 页面添加 JavaScript,使得网站的动态性和交互性更强

10Jquery

jQuery  JavaScript 库,简化了 JavaScript 编程

11JSP

Java server pages 动态网页编程技术,实现了在 Java 中使用 HTML 标签,在服务器端执

12MVC 设计模式框架是指什么,其优缺点,怎样用到在你的程序

在我们实际开发的最后到产品上线,供给客户使用,客户通过浏览器或者 app 等进行

数据的操作,实现这个的有,处理发送请求,业务逻辑处理以及访问数据库

这三个功能我们是可以放到一块使用的,但是如果放在一起,代码便会很臃肿,不利

于维护,于是便出现了代码分层思想,把代码按照功能分为三层,即模型层(Model)、显示

(View)、控制层(Controller),这种代码的组织架构就叫 MVC 模式

模型层(Model):在模型层中又可以分为两层,即 Service 层和 Dao ,这两层的主要功能是

Service :负责一些业务处理,比如说:获取数据库连接,关闭数据库连接,事务回滚或者

一些复杂的逻辑业务处理

Dao 层:(Database Accept Object) 负责访问数据库,对数据的操作,获取结果集,将结果

集中的数据装到 OVObject Value)对象中,之后再返回给 Service 

Controller :处理用户请求

View 层:主要负责显示数据(HtmlCssjQuery 等等)

一种设计模式,分层设计思想

Mmodel 模型

Vview

Ccontroller

13、前端用到了什么技术(例如 CSSHTML

14controller 代码

@RequestMapping(value = "/register",method = RequestMethod.GET)

public ModelAndView register(ModelAndView model){

model.addObject("title", "用户注册");

model.setViewName("home/index/register");

return model;

}

这是定义的接口,这个是 register 接口

15msg  message 的缩写

16、服务器(web 服务器)

Tomcat 端口号 8080/8088

16 Axios

Axios,是一个基于 promis

网络请求库,作用于 node.js 浏览器中,它是

行在浏览器和 node.js )。在服务端它使用原生

isomorphic (即同一套代码可

node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequest

17Ajax

请求 url ,请求类型 post get , 同步异步,参数

前端往后端提交

异步提交

无需重新加载整个页面,能够更新部分页面内容

Ajax 在浏览器与 Web 服务器之间使用异步数据传输(HTTP 请求),这样就可使网页从

服务器请求少量的信息,而不是整个页面

刷新局部网页,只刷新网页的某一部分

Ajax 是异步 JavaScript  XML,是一种用于创建快速动态网页的技术,通过在后台与

服务器进行少量数据交换,Ajax 可以使网页实现异步更新。这意味着可以在不重新加

载整个网页的情况下,对网页的某部分进行更新。

同步与异步的区别

同步提交:当用户发送请求时,当前页面不可以使用,服务器响应页面到客户端,响应完

成,用户才可以使用页面。

异步提交:当用户发送请求时,当前页面还可以继续使用,当异步请求的数据响应给页面,

页面把数据显示出来

创建了 XMLHttpRequest 对象之后,必须为 XMLHttpRequest 对象创建 HTTP 请求,用于

说明 XMLHttpRequest 对象要从哪里获取数据。通常可以是网站中的数据,也可以是本地

中其他文件中的数据。

URL:该参数用于指定 HTTP 请求的 URL 地址,可以是绝对 URL,也可以是相对 URL

18、为什么选用 MySQL 数据库(看你用的是什么数据库)

19、采用的什么数据库,数据库端口号

MYSQL 一般端口号是 3306 开源免费、运行速度快、可移植性高

20、页面怎么传值?

Post 表单提交

Get 请求

url 地址传值

1. 当点击登录按钮时,通过按钮触发页面 ajax 请求【请求方式分为 POST(有数据返回页

面)和 GET(无返回)】,前端数据通过 json 进行传递。根据 ajax 中的配置 URL 找到对

应的 controller 方法。然后从 controller 层发送到 service 层再通过实现类发送到 DAO 层,

dao 层再根据 mybatis  XML 的映射关系找到对应的 SQL 进行数据库,进行相应处理。

简述:用 ajax 发送前端请求到后端处理,并返回数据。通过 json 进行传递。

用户登录如何实现的:简述+服务器比对用户输入的用户名密码于数据库中的用户名密

码是否一致。

 更多源码获取:

宫众浩         文心海资源库~

  • 18
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值