JavaWeb基础面试题
Posted 小坏蛋至尊宝
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaWeb基础面试题相关的知识,希望对你有一定的参考价值。
JavaWeb
- GET 和 POST区别
post
发送方式:<form action="" method="post"> 、 ajax
请求参数不可见,为 form data
可以实现文件上传
请求没有长度限制
get
发送方式:除了<form action="" method="post">以外
请求参数在url上,可见 ?xx=xx&yy=yy
不可以实现文件上传
请求的编码格式 iso-8859-1 ( 不支持中文 )
请求有长度限制
- 说说cookie和session的区别?
Cookie
- 是一种 客户端(浏览器) 会话跟踪技术
- 是 字符串类型的 键值对(Map)
- 键值对 保存在 客户端(保存在浏览器中的)
- 浏览器每次发送请求都会携带cookie信息
- 不是JSP内置对象
- 大小是有限制的,具体值和浏览器有关,大约4k
Session
- 是JSP内置对象之一,对应的java类 HttpSession
- 保存在 服务器端的 会话跟踪技术
- 是键值对,键 String 值 Object Map<String,Object>
- 通过Cookie 实现 会话跟踪
- 理论上大小无限制
- 转发和重定向的区别
转发
- 对于浏览器而言,是一次请求
- 浏览器地址栏不发生改变
- 两个Servlet 共享request和response
- 可以转发到WEB-INF中的内容
重定向
- 对于浏览器而言是两次请求
- 浏览器地址栏发生改变
- 每次请求都是新的request和response
- 不可以访问 WEB-INF (浏览器不能访问 WEB-INF)
- 404/500/200/304/302/400/403/405 状态意义
404: NotFound 500:服务器内部错误 200: 成功
302: 重定向 304: 浏览器缓存 400: 参数格式不合法
403:拒绝访问 405 请求方式错误
- Tomcat程序发布的主要步骤是什么?如果需要指定应用程序的访问端口为8081,如何配置
- 项目打成war包
- 放到tomcat/webapps 目录中
- 启动tomcat
修改conf/server.xml , server:port(大约69行)
- cookie 的禁用对session 有什么影响
session 通过 sessionId 进行查找,sessionId 存在与cookie中, 如果浏览器禁用cookie,那么将无法进行会话跟踪。
- jsp 9个内置对象,4个作用域对象
page request response session application
pageContext out config exception
page request session application
- Servlet 生命周期
- servlet 默认在第一次访问时创建(可以使用loadOnStartup 指定修改创建时机,大于等于0时,在服务器启动时创建,数字小的 优先级 高于 数字大的 优先级)
- 对象创建成功后,会执行init方法
- servlet是单例的
- servlet在容器销毁时被销毁,执行destroy方法
- Tomcat原理
tomcat 底层封装了 基础IO操作,多线程操作以及socket操作。
- Tomcat的各种配置,如何配置docBase
在tomcat server.xml中,
<host >
<Context path=”/” docBase=”c:\\mail” />
</host>
path位虚拟目录,docBase为实际目录
- web.xml的配置
welcome-file-list: 欢迎页地址
error-page: 全局错误码返回页
servlet / servlet-mapping : servlet和其映射规则
filter / filter-mapping: filter和其映射规则
listener: 监听器配置
- jQuery选择器
id, class,标签,属性,后代,直接子元素,伪类等
- Ajax中的几个参数,含义
url , data , dataType , type , success , fail 等
- Ajax用什么格式的数据进行传输
JSON, text , XML
- 怎样给 tomcat调优
JVM参数调优:
- Xms<siz> 表示JVM初始化堆的大小,
-Xmx<size>表示JVM堆的最大值。
这两个值的大小一般根据需要进行设置。当应用程序需要的内存超出堆的最大值时虚拟机就会提示内存溢出,并且导致应用服务崩溃。因此一般建议堆的最大值设置为可用内存的最大值的80%。
在 catalina.bat中,设置JAVA_OPTS='-Xms256m-Xmx512m',表示初始化内存为256MB,可以使用的最大内存为512MB
禁用DNS查询
当web应用程序向要记录客户端的信息时,它也会记录客户端的IP地址或者通过域名服务器查找机器名转换为P地址。DNS查询需要占用网络,并且包括可能从很多很远的服务器或者不起作用的服务器上去获取对应的IP的过程,这样会消耗一定的时间。为了消除DNS查询对性能的影响我们可以关闭DNS查询,方式是修改 server.xmt文件中的 enablelookups参数值
以上是关于JavaWeb基础面试题的主要内容,如果未能解决你的问题,请参考以下文章