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应用程序。
剩余8页未读,继续阅读
- 粉丝: 1
- 资源: 24
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于ESP8266的WebDAV服务器与3D打印机管理系统.zip
- (源码)基于Nio实现的Mycat 2.0数据库代理系统.zip
- (源码)基于Java的高校学生就业管理系统.zip
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
评论0