Java面试深度解析:笔试题与Servlet生命周期
需积分: 9 143 浏览量
更新于2024-09-11
收藏 206KB PDF 举报
"Java面试及笔试题解析"
Java面试中,常常会遇到各种技术问题,以下是一些常见的Java程序员面试笔试题以及相关知识点的详细解释:
1. JSP的常用指令:
`<%@page language="java" contentType="text/html;charset=gb2312" session="true" buffer="64kb" autoFlush="true" isThreadSafe="true" info="text" errorPage="error.jsp" isErrorPage="true" isELIgnored="true" pageEncoding="gb2312" import="java.sql.*"%>` 这个指令包含了许多JSP页面的配置选项,如设置页面编码、启用Session、设置缓冲区大小、自动刷新、线程安全等。`isErrorPage`表示该页面是否处理错误,`isELIgnored`表示是否忽略EL(Expression Language)表达式。
2. doGet()和doPost()的调用时机:
在JSP中,当表单的`method`属性为`GET`时,服务器会调用Servlet的`doGet()`方法处理请求;如果`method`为`POST`,则调用`doPost()`方法。这两个方法是HTTP请求方法的映射,用于处理不同的HTTP请求类型。
3. Servlet的生命周期:
Servlet的生命周期包括加载、初始化、服务和销毁四个阶段。Web容器在启动时加载Servlet,通过调用`init()`方法初始化Servlet。接着,每当有请求到达,`service()`方法会被调用,它会根据请求类型决定调用`doGet()`或`doPost()`。最后,Web容器关闭或卸载Servlet时,会调用`destroy()`方法。
4. 实现Servlet的单线程模式:
如果希望Servlet每次只处理一个请求,可以设置`isThreadSafe`属性为`false`,这样JSP编译后的Servlet将不支持多线程,确保同一时间只有一个请求被处理。
5. 页面间对象传递:
- `request`:用于在一次请求内传递数据,从一个页面到另一个页面,但仅限于请求周期内。
- `session`:用于跨多个请求保存用户信息,适合存储会话级的数据。
- `application`:在整个Web应用程序范围内共享数据,适用于所有用户。
- `cookie`:客户端存储数据的方式,可以用来持久化用户信息,但有大小和数量限制。
6. JSP与Servlet的异同:
- 相同点:两者都是构建动态Web应用的技术,都基于Java,都运行在服务器端。
- 不同点:JSP侧重于视图展示,方便编写HTML混合Java代码,而Servlet主要用于控制逻辑,处理请求和响应。JSP最终会被转换为Servlet并编译执行。
7. 会话跟踪技术:
- `cookie`:在客户端存储数据,通过HTTP头发送回服务器。
- `url重写`:在URL后面附加查询参数来传递信息,适合防止CSRF攻击。
- `session`:服务器端存储用户会话信息,通过session ID在客户端和服务器之间建立关联。
- `隐藏域`:在HTML表单中使用隐藏字段存储数据,只在提交表单时发送。
8. JSP的四种范围:
- `page`:作用范围仅限当前页面。
- `request`:作用范围覆盖整个请求,包括转发。
- `session`:作用范围覆盖整个会话。
- `application`:作用范围覆盖整个Web应用程序。
了解这些知识点对于Java开发者来说至关重要,它们涵盖了Web开发的核心概念和技术,有助于在面试中脱颖而出。
578 浏览量
3123 浏览量
2024-01-26 上传
2022-06-11 上传
171 浏览量
2013-10-09 上传
117 浏览量
列子汤问
- 粉丝: 78
- 资源: 28
最新资源
- Ubuntu中文参考手册
- 3D试衣系统技术研究
- iWidget programming guid
- Test-Driven Development by example
- Zope and MySQL
- bash Quick Reference 2006
- 概要设计说明书模板,可以借鉴
- 100道C语言逻辑题
- 由555IC构成的十种应用电路
- 单片机C语言教程,详细的清晰的彩版
- Oracle XML Publisher在Oracle R11i中的实际运用
- 二级公共基础知识总结
- 电脑应用必备常识 菜鸟必备 硬件入门
- 权威百家软件公司排名
- 硬件工程师基础知识---牛人的总结,很值得一看哦
- 代码大全(英文第二版)