面试题:
1.什么是MVC,使用MVC的好处是什么?
MVC设计模式的引入
在项目中,客户通过浏览器或者app等进行数据的操作,操作有处理发送请求,业务逻辑处理以及访问数据库,这三个功能我们是可以放到一块使用的,但是如果放在一起,代码便会很臃肿,不利于维护,于是便出现了代码分层思想,把代码按照功能分为三层,即模型层(Model)、显示层(View)、控制层(Controller),这种代码的组织架构就叫MVC模式.

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

Service层:负责一些业务处理,比如说:获取数据库连接,关闭数据库连接,事务回滚或者一些复杂的逻辑业务处理
1
Dao层:(Database Accept Object) 负责访问数据库,对数据的操作,获取结果集,将结果集中的数据装到OV(Object Value)对象中,之后再返回给Service

2.请求转发与重定向的区别?
转发请求一次 访问的地址是第一次请求的url
req.getRequestDispatcher("/show").forward(req,resp);
相当于客户端向服务器端发送一次请求 要加上 /
url地址是第一次发送请求的地址 http://localhost:8080/ManagerSystem/add 不是转发的目标资源地址 意味着每刷新一次就会执行一次第一次地址对应的Servlet
请求转发只能诸法站内的资源,不能转发站外的资源
重定向:相当于客户端向服务器端发送了两次请求 A向B借钱 B没有 A又向C去借
resp.sendRedirect(req.getContextPath()+"/show"); //站内资源
resp.sendRedirect(“http://www.baidu.com”); //站外资源
url地址最终目标资源 http://localhost:8080/ManagerSystem/show

3.如何获取请求参数?
“获取application context的路径”+req.getContextPath()
“获取到请求参数”+req.getParameter("")
“获取到请求的uri地址”+req.getRequestURI()

4.如何在服务器端保存数据以及获取数据?
req.setAttarbut(key,value)
req.getAttarbuit(key) 用相应的类型接受

常用的错误代码

404 找不到网页
500 服务器出错
405 请求方式不对

如何简化JSP文件?可以使用JSTL+EL表达式来简化我们的JSP页面

JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能

JSTL 库安装 :下载之后要将这个文件放在 Web-INFO 下的lib文件中

${}表示EL表达式

JavaWeb中的会话技术

什么是session?
session是服务器端的一种会话技术,服务器在运行的时候会为每一个用户的数据创建一个单独的session对象。
Session可以为用户的浏览器所共享

Session的核心:HttpSession接口,他可以保存保存服务端会话
可以通过HttpSession session=req.getSession;来获取会话。

常用方法:
getId():可以通过此方法来获取到Session的编号id
void invalidate():可以通过此方法来销毁Session对象
setAttribute(java.lang.String name, java.lang.Object value) 向Session中保存数据
getAttribute(java.lang.String name) 从session中根据key获取数据
removeAttribute(java.lang.String name)从Session中清除数据 例如:退出登录

面试:session的执行原理
1.第一次会创建一个session对象,它会给session对象分配一个唯一的ID JSESSIONID
2.要将JSESSIONID以Cookie发送给浏览器来保存
3.第二次访问服务器的时候,浏览器会携带JSESSIONID来访问服务器
4.服务器要得到JSESSIONID,在服务器端的内存搜索是否存在对应的Session对象

注意:保存在Session对象中的数据会被多个Servlet和JSP所共享,只要浏览器不关闭,保存在session中的数据会一直有效

什么是会话:客户端与服务器的数据的传输(登录、购物车)

什么是管理:也就是数据的管理
常用的会话技术:Cookie:在客户端来保存数据 Session:数据还在服务器端

Cookie类主要用于存储会话数据

1.可以通过构造器来创建一个Cookie对象 Cookie(java.lang.String name, java.lang.String value)

2.可以通过setMaxAge(int expiry)来设置Cookie的有效时间(以秒为单位) 246060
2.1正数:表示cookie的数据会保存到浏览器缓存到硬盘中
2.2负数:表示cookie的数据会保存在浏览器的内存中,浏览器关闭,cookie就失效了
2.3 0 :表示会删除同名的cookie数据
3.发送Cookie到浏览器端来保存 HttpServletResponse对象中的方法 addCookie(Cookie cookie)

4.服务器端接收Cookie 可以通过HttpServletRequest 对象中的方法接受 getCookies() 返回值类型Cookie[]

Cookie的执行原理
1.在服务器创建一个Cookie对象,要将数据保存到Cookie会话中
2.服务器会将cookie数据保存到浏览器
3.浏览器下一次访问服务器的时候会携带cookie的信息
4.服务器可以获取到客户端的cookie数据
5.cookie的数据类型只能保存非中文字符串类型,一个浏览器可以保存300个cookie数据,每个cookie的大小最大为i4kb

分页:
select * from table limit (curPage-1)*pageSize,pageSize; select * from table limit 0,10
select * from table limit 0,10; 如果查询第一页的10条数据 1-10条
select * from table limit 10,10; 如果查询第二页的10条数据 11-20条
select * from table limit 20,10; 如果查询第二页的10条数据 21-30条

说明 limit 分页公式 curPage 是当前第几页 pageSize是一页多少条记录

分页的方式:
1.前台分页:从数据库中一次查询所有的数据,然后再进行分页。如果数据量太大,这种分页效率低。
2.后台分页:(数据库分页) 缺点频繁连接数据库
Oracle分页
SELECT * FROM
(
SELECT A.*, ROWNUM RN
FROM (SELECT * FROM TABLE_NAME) A
WHERE ROWNUM <= 40
)
WHERE RN >= 21

3.存储过程:每一个数据库 存储过程都不同

分页的原理
1.计算总的记录数
2.计算总页数
3.查询某一个区间的数据 例如 查询第一条到第十条的数据

javaweb面试题总结相关推荐

  1. JavaWeb笔试题

    JavaWeb笔试题 JavaWeb相关 1.编码问题(Get\POST) 2.集合(map)  List 有序(存取), Set无序 3.常用类(String.servlet.异常类.集合.Thre ...

  2. Java题目筛选器_【024期】JavaWeb面试题(五):Filter和Listener

    开篇介绍 大家好,我是Java最全面试题库的提裤姐,今天这篇是JavaWeb系列的第五篇,主要总结了JavaWeb中Filter和Listener相关的问题,在后续,会沿着第一篇开篇的知识线路一直总结 ...

  3. JavaWeb面试题2020(15题)

    前言: 作者:CodeCow · 阿牛,微信搜索公众号 "CodeCow ",我们一起干"java" 正文: 1.网络编程首先要解决什么问题? (1)如何准确的 ...

  4. javaweb面试题(全)

      目录 1.一个".java"源文件中是否可以包括多个类(不是内部类)?有什么限制?............ 8 2.Java有没有goto?.................. ...

  5. JavaWeb面试题(持续)

    1.Tomcat的优化经验 答:去掉对web.xml的监视,把JSP提前编辑成Servlet:有富余物理内存的情况下,加大Tomcat使用的JVM内存. 2.什么是Servlet? 答:可以从两个方面 ...

  6. [JAVA]JavaWeb面试题

    1.Tomcat的优化经验 答:去掉对web.xml的监视,把JSP提前编辑成Servlet:有富余物理内存的情况下,加大Tomcat使用的JVM内存. 2.什么是Servlet? 答:可以从两个方面 ...

  7. java实现登陆面试题_【Javaweb】笔面试题 ---(1)(示例代码)

    Javaweb 面试题:理解才是最重要的,而不是原封不动的背下来 一.请简述doget和dopost它们的区别 1) get是从服务器上获取数据,post是向服务器传送数据. 2) 在客户端,Get方 ...

  8. Java面试题汇总及答案2021最新(序列化含答案)

    Java面试题汇总及答案2021最新(序列化含答案) 为大家整理了2021最新的Java面试题及答案下载,这套Java面试题总汇已经汇总了Java基础面试到高级Java面试题,几乎涵盖了作为一个Jav ...

  9. JAVA基础——toString()方法,java基础面试笔试题

    我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...

  10. Linux纯干货知识总结|面试专用

    学习Linux的重要性相信不用我多说大家也明白,以下是小编总结的常用Linux基础知识以及面试常问的Linux命令,希望能帮助大家更规范地理解和使用- 绝对路径和相对路径 绝对路径 以正斜杠开始 完整 ...

最新文章

  1. centos7 搭建 mysql8
  2. Educational Codeforces Round 30 A
  3. supersu_SuperSU已从Play商店中删除,这是替代使用的方法
  4. 产品经理的高薪会持续嘛?
  5. webpack react项目搭建一:环境
  6. .Net程序测试阿里云OSS开放存储服务
  7. E. Mahmoud and Ehab and the function Codeforces Round #435 (Div. 2)
  8. WSS 3.0部署备忘 六
  9. Java 多线程--- 创建线程、Thread类、synchronized
  10. 2022.3.14-3.20 AI行业周刊(第89期):商业计划书
  11. 蠕虫病毒html,蠕虫病毒的防治
  12. 如何把img格式转换成vmdk格式
  13. flash学习者不要错过-视频教程打包下载
  14. RSA详解 ----- Android中常用的非对称加密算法
  15. Day 6.重大医疗伤害事件网络舆情能量传播过程分析*———以“魏则西事件”为例
  16. 【数学知识】方差、标准差、均方差、均方误差区别总结
  17. 二代测序的原理和简介
  18. linux kernel decompress_kernel 启动解压
  19. 字符串相乘——大整数乘法
  20. 基于django+html+flask的英语词汇量估算工具设计与实现 文档+项目源码

热门文章

  1. 微pe工具箱 系统安装教程_微pe工具箱怎么装系统
  2. 苹果系统摩尔庄园是什么服务器,摩尔庄园手游官服和渠道服有什么区别_可以一起玩吗_官服和渠道服详细介绍...
  3. HTML5颜色选择器(画布)
  4. bt linux wifi,RK3288 添加WiFiBT模块AP6212
  5. SPSS调节效应分析插件 v1.1.1
  6. 2017年终总结,开始写博客的第一年
  7. Elas Digital:定义一个Token的最简易方法
  8. STM32MP157 Linux系统移植开发篇16:Linux内核音频驱动移植
  9. 2021年PMP考试模拟题4(含答案解析)
  10. 学生用计算机没电了,cfa计算器没电了怎么办