java面试常问问题总结---javaWeb篇

1.软件服务架构
1) C/S 2).B/S
2.URL:
在互联网中每个资源(html、css、js、img、png、video)都有一个唯一地址去标识该资源。
URL全称Uniform Resource Locator(统一资源定位符)
http://192.168.6.123:8080/1.jpg
URL:通常是由 ip地址、端口号、资源名称、协议名、项目名等组成
3.Tomcat
Tomcat是apache公司旗下的开源项目。Tomcat是目前主流的WEB应用服务器
默认端口号:80
在这里插入图片描述4.什么是Servlet
一种动态网页技术

  • Servlet:server(服务器) applet (小程序),也叫服务器端小程序。
  • Servlet能够接收浏览器的请求并且给浏览器以应答(响应)

5. 实现的三种方式
新建servlet有3种方式
1.实现Servlet接口 2.继承GenericServlet 3.继承HttpServlet(常用)
6.Servlet生命周期
Servlet从创建到销毁的过程称为Servlet生命周期
在这里插入图片描述7. 转发和重定向区别?
forward(请求转发)地址栏不变 一次请求 转发之间的servlet共享同一个request对象
sendRedirect(请求重定向)地址栏会改变 二次请求 servlet之间有各自独立的request对象
8. Cookie与Session区别?
Cookie是服务器向浏览器写入的一段字符串,这段字符串由键值对组成:”uname=zhang3”,Cookie是保存在浏览器上的
HttpSession表示浏览器与服务器之间的会话(对象),HttpSession是保存在服务器
Session默认是30分钟内有效,但是可以在web.xml文件中进行配置有效期
会话cookie:会话cookie是一种特殊的cookie,cookie的键是JSESSIONID,值是session的id
原理:首先服务器先检查浏览器中是否存在会话cookie,如果存在会话cookie,那么会根据会话cookie的值,查找相应的session,然后将查找到的session返回;如果不存在会话cookie,那么首先服务器会先创建session,然后再创建新会话cookie(JSESSION=SESSIONID),将会话cookie发送到浏览器,最后将新建的session返回
9. Servlet与Jsp
Servlet和jsp都是动态网页技术
Servlet:代码+网页 servlet更多的是实现java部分功能
Jsp:代码+网页 jsp更多的是负责页面展示
Jsp本质上就是servlet
Jsp源文件的后缀名是.jsp
10. 静态包含与动态包含区别
@include包含也叫静态包含,在一个页面将另外一个页面的代码完整的包含进来
静态包含源代码 编译后产生1个class文件
动态包含包含结果 编译后产生多个class文件
11.Html和jsp注释区别?
Html注释的内容会被编译、jsp注释的内容不会被编译
12. Jsp执行过程
.jsp—> 翻译—.java---->编译----->class---->执行class文件
13.Jsp的9大内置对象(记住)

  • request 表示请求对象 作用域对象
  • response 表示响应对象
  • pageContext 表示当前页面的上下文,作用域对象之一,通过pageContext可以获取其他内置对象
  • session 表示会话对象
  • out 表示输出流对象
  • config 表示jsp页面配置对象
  • exception 表示异常对象
  • page 表示当前页面,相当于java中的this的关键字
  • application 表示WEB应用,作用域对象

14. mvc设计模式
设计模式就是编程方式
Mvc设计模式是设计模式中的一种。
M: model 模型负责业务逻辑、数据持久化
``V:view 视图```负责数据(页面)展示 C:controller控`制器 负责接收和处理请求以及响应请求给浏览器
Mvc设计模式下工作原理:
在这里插入图片描述15. JSP中EL表达式

EL:全称expression language 表达式语言
表达式脚本:<%= %>
语法: ${作用域.变量名(对象名.属性名)}
作用:计算和显示表达式的结果
表达式:变量 、常量 、变量和常量以及运算符组合形成的式子
16.jsp四个作用域对象分别是:pageContext、request、session、application

  • pageContext pageScope 表示作用范围是当前页面有效
  • request requestScope 表示作用范围是在一次请求内有效
  • session sessionScope 表示作用范围是在一次会话内有效
  • application applicationScope 表示作用范围是在整个应用运行期间有效
    ${变量名}:那么获取数据顺序是:pageContext---->request—>session–>application

17.JSP 中jstl标签库
jstl全称 jsp standard tag library jsp标准标签库
核心库(判断、分支、循环)、格式化库(格式化日期、格式化数字)、其他标签
在使用jstl之前首先需要添加:1.strandard.jar 2.jstl.jar
在页面引入jstl标签库的指令。
18. jdbc编程存在问题
硬编码:把变量写死就是硬编码(数据库的驱动名、数据库的URL、数据库的用户名、数据的密码)
19. mybatis工作原理
在这里插入图片描述20. mybatis三种实现方式
1.mapper.xml
2.mapper接口+mapper.xml(常用)
3. mapper接口+注解+mapper.xml
21. mybatis的TypeAliase
在mybatis-config.xml文件中配置TypeAliase:
TypeAlise类型别名,给类型取短名
22. #{}和${}区别
在这里插入图片描述在这里插入图片描述
23. 动态sql
动态sql:根据不同条件执行产生不同的结构的sql语句,这种变化的sql语句叫动态sql。
动态sql主要包括:if判断 choonsewhen分支、循环foreach、where set trim
24. mybatis的缓存
缓存目的是为了减少对数据库的访问次数,提升数据库的执行效率。
mybatis缓存机制包括:1.一级缓存 2.二级缓存
1. 一级缓存
一级缓存也叫sqlSession级别的缓存 ,也就是在同一个sqlSession内执行两次多次相同结果的查询语句,只会在第一次时发出sql查询数据库的数据,然后之后每次从一级缓存中查询数据返回。
2. 二级缓存:
是mapper级别的缓存,也就是多个sqlSession之间可以实现数据的共享。
二级缓存默认是不开启,所以在使用二级缓存时需要做配置
注意:当执行insert、delete、update时清除二级缓存
25.springmvc 工作原理
在这里插入图片描述26.spring简介

  • spring 框架主要作用是和其他主流框架进行整合开发。SSM: spring springmvc mybatis
  • Spring 是轻量级的框架,其基础版本只有 2 MB 左右的大小。
  • spring有2个核心:1.IOC 2.AOP

27.IOC(掌握)
IOC 全称 inversion of controll 控制反转
User类,创建User类对象,通过调用构造方法进行创建,User user = new User();
spring来管理对象的创建和销毁,把对象创建权利的反转成为控制反转
User<---------spring(管理User—>创建User对象)
28. AOP(掌握)
AOP 全称 Aspect Oriented Programming 面向切面编程
扩展类(类中的方法)不需要修改源代码就可以实现。
AOP应用场景:日志、校验等。

AOP原理:采用的是横向抽取机制取代传统的纵向抽取机制。
在这里插入图片描述29. get与post区别?
1.Get是不安全的,因为在传输过程,数据被放在请求的URL中;
Post的所有操作对用户来说都是不可见的。
2.Get传送的数据量较小,这主要是因为受URL长度限制;
Post传送的数据量较大,一般被默认为不受限制。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值