JSP面试经常问到的知识
需积分: 0 154 浏览量
更新于2010-08-30
收藏 36KB DOC 举报
JSP(Java Server Pages)是Java技术中用于创建动态网页的一种服务器端脚本语言。面试中经常涉及到JSP的知识,以下是一些常见的问题及其详细解释:
1. **JSP与SSI混合使用**:
- JSP可以使用`<!--#include file="data.inc"-->`来包含纯HTML文件,但当数据.inc包含JSP代码时,应使用`<%@include file="data.inc"%>`。这允许JSP引擎将JSP代码解析并转换为Servlet。
2. **线程安全的JSP**:
- 通过在JSP页面中添加`<%@ page isThreadSafe="false" %>`指令,可以确保JSP实例不被多个线程同时访问,从而实现线程安全。
3. **处理HTML表单数据**:
- JSP通过内置的`request`对象获取表单数据,如`String item = request.getParameter("item");`和`int howMany = new Integer(request.getParameter("units")).intValue();`
4. **包含静态文件**:
- 静态包含使用`<%@ include file="copyright.html" %>`,动态包含则使用`<jsp:include page="copyright.html" flush="true"/>`。`flush="true"`表示清除缓冲区并立即输出。
5. **JSP中的注释**:
- JSP支持四种类型的注释:`<%-- --%>`,`//`,`/* */`和`<!-- -->`。
6. **执行重定向**:
- 使用`response.sendRedirect("http://ybwen.home.chinaren.com/index.html")`执行重定向,或者通过设置HTTP响应头来实现重定向。
7. **防止缓存**:
- 防止浏览器缓存JSP内容,可以通过在JSP开始处添加代码来设置响应头,例如:
```
<%response.setHeader("Cache-Control","no-store"); //HTTP 1.1
response.setHeader("Pragma","no-cache"); //HTTP 1.0
response.setDateHeader ("Expires", 0); //prevents caching at the proxy server%>
```
8. **设置和删除COOKIE**:
- 设置COOKIE:`Cookie mycookie = new Cookie("aName","aValue");response.addCookie(mycookie);`
- 删除COOKIE:设置maxAge为0,例如`killMyCookie.setMaxAge(0);killMyCookie.setPath("/");response.addCookie(killMyCookie);`
9. **停止JSP执行**:
- 如果某个条件不满足,可以使用`return;`语句停止JSP的进一步执行,例如检查请求参数。
10. **定义JSP方法**:
- 在JSP中定义方法是可能的,但不能直接访问内置对象,而是通过参数传递,如`<%!public String howBadFrom(HttpServletRequest req) {...}%>`,然后在JSP中调用`<%= howBadFrom(request) %>`
11. **无Cookie情况下的SESSION跟踪**:
- 如果浏览器关闭了Cookies,可以使用URL重写来跟踪SESSION。在hello1.jsp中,先开启session,然后编码URL,例如:
```jsp
<%@ page session="true" %>
<%Integer num = new Integer(100);
session.putValue("num",num);
String url =response.encodeURL("hello2.jsp");
%><a href=<%=url%>>hello2.jsp</a>
```
这样,SESSION信息会被编码到URL中,即使没有Cookie,服务器仍然可以识别用户。
这些知识点涵盖了JSP的基础使用、数据处理、会话管理、页面控制等多个方面,对于面试和实际开发都有重要作用。理解并掌握这些内容,可以帮助开发者更好地构建和维护基于JSP的Web应用程序。
keep_running
- 粉丝: 1
- 资源: 24
最新资源
- 基于ssh员工管理系统
- 5G SRM815模组原理框图.jpg
- T型3电平逆变器,lcl滤波器滤波器参数计算,半导体损耗计算,逆变电感参数设计损耗计算 mathcad格式输出,方便修改 同时支持plecs损耗仿真,基于plecs的闭环仿真,电压外环,电流内环
- 毒舌(解锁版).apk
- 显示HEX、S19、Bin、VBF等其他汽车制造商特定的文件格式
- 操作系统实验 Ucore lab5
- 8bit逐次逼近型SAR ADC电路设计成品 入门时期的第三款sarADC,适合新手学习等 包括电路文件和详细设计文档 smic0.18工艺,单端结构,3.3V供电 整体采样率500k,可实现基
- 操作系统实验 ucorelab4内核线程管理
- 脉冲注入法,持续注入,启动低速运行过程中注入,电感法,ipd,力矩保持,无霍尔无感方案,媲美有霍尔效果 bldc控制器方案,无刷电机 提供源码,原理图
- Matlab Simulink#直驱永磁风电机组并网仿真模型 基于永磁直驱式风机并网仿真模型 采用背靠背双PWM变流器,先整流,再逆变 不仅实现电机侧的有功、无功功率的解耦控制和转速调节,而且能实