Jsp&Servlet实践备注
1.在web.xml中,<init-param>标签用于预置参数,在Servlet中可用 getServletConfig().getInitParameter("xx")获得;
2.在Servlet中覆盖service()方法时,要用super.service()调用HttpServlet的service()方法;
3. response.sendRedirect("1.jsp"); 此种跳转方式称为"请求重定向",产生了2个请求,地址栏内容发生变化,性能较差;
request.getDispatcher("1.jsp").forward(request,response);此种跳转方式称为"请求转发", 只产生了1个请求,地址栏内容不变,性能较优;它与jsp中的<jsp:forward page="1.jsp"/>起相同的作用;
4. request.getDispatcher("1.jsp").include(request,response); -->在一个资源中包含另一个资源; 与jsp中的<jsp:include page="1.jsp"/>起相同的作用;
5. 在jsp文件 中include一个html文件,会出现乱码, 建议只include jsp文件;若要避免乱码可尝试使用过滤器;
6. 若使用frameset定义上下左右布局,或者使用"请求转发"并在request里设置了参数, 有时javascript可能会出现里的奇怪的"对象未定义"等错误, 此时只需在head标签中添加一句: <base href="<%=basePath%>xxx/xxx/">;
7.在比较字符串相等时, 变量.equals("abc")与"abc".equals(变量)是有所区别的, 区别就是后者不会出现空指针异常(NullPointException);
8. 在jsp中写<% int i=0; %> 与写<%! int i=0; %>的作用是不同的,区别虽然只有1个感叹号,编译出的Servlet里2个变量的位置却不同,一个是全局变量,另一个是局部变量;
9. 四种响应Ajax请求的方法: 自行序列化为xml; xml数据映射; 页面模板; JSON; (前3个不是很理解);
10.如果try-catch块中有return语句, finally块中也有return语句,那么前者将会被无视掉,具体效果可自行做实验;
11.如何实现防盗链? 在A网站上获取B网站的图片资源,那么页面一定是先访问的www.A.com的某个url,然后访问的www.B.com的资源url,所以通过 request.getHeader("referer")获得上一次访问的地址,如果结果为空或者网站名不是B,那么就将指定的防盗链声明的图片作为响 应.
12. 各种过滤器的应用: 防盗链过滤器,日志记录过滤器,权限验证过滤器,字符编码过滤器,防止缓存过滤器,文件上传过滤器,使用过滤器自动生成静态页面...
13. 防止页面缓存的过滤器:
缓存带来的影响:可能使得web服务器不能正确地计算一个页面或一个广告被浏览的次数,或者导致页面的图片信息不能得到及时的更新.
(1)设置http-equiv属性的参数expires,控制网页的过期时间;
(2)设置http-equiv属性的参数pragma,禁止浏览器从本地计算机的缓存中访问页面内容;
(3)设置http消息头中的Cache-control参数,控制页面的缓存. 其常见值有private,no-cache,max-age,must-revalidate,默认值为private;
Cache-control的作用根据浏览方法的不同可以分为以下几种情况:
①以打开新窗口的方式进行浏览: 如果指定 Cache-control的值为private、no-cache或者must-revalidate,那么打开新窗口访问时就会重新访问服务器; 如果指定的值是max-age,那么在此值规定的时间内不会重新访问服务器.
②在地址栏里按回车键进行浏览: 如果值为private或must-revalidate, 则只有第一次访问时才会访问服务器,以后就不再访问; 如果值为no-cache,那么每次都会访问; 如果值为max-age,那么在过期之前不会重复访问服务器;
③按后退键进行浏览: 如果值为private、must-revalidate、max-age, 则不会重复访问; 如果值为no-cache,则每次都重复访问;
④按刷新键: 无论为何值,都会重复访问. 如果指定Cache-control值为no-cache,访问此页面不会在Internet临时文件夹中留下文件备份.
(以前从什么地方看到的,貌似按F5刷新和按Shift+F5刷新有所不同....)
14. 数据库对分页的支持: mysql有limit关键字,sql server有top关键字,oracle有rownum属性.
15.处理jspSmartUpload组件下载文件名乱码问题:
/** * 将文件名中的汉字转为UTF8编码的串,以便下载时能正确显示另存的文件名. * @param s 原文件名 * @return 重新编码后的文件名 */ public static String toUtf8String(String s) { StringBuffer sb = new StringBuffer(); for (int i=0;i<s.length();i++) { char c = s.charAt(i); if (c >= 0 amp;amp; c <= 255) { sb.append(c); } else { byte[] b; try { b = Character.toString(c).getBytes("utf-8"); } catch (Exception ex) { System.out.println(ex); b = new byte[0]; } for (int j = 0; j < b.length; j++) { int k = b[j]; if (k < 0) k += 256; sb.append("%" + Integer.toHexString(k).toUpperCase()); } } } return sb.toString(); }
相关推荐
《Head First Servlet & JSP》作为备考书籍,不仅涵盖了考试大纲中的所有知识点,还通过生动的图表、游戏和互动方式帮助读者理解并记忆复杂概念。作者通过实例和实践项目引导读者一步步掌握Servlet和JSP的使用,使...
【基于WEB的考研资源共享系统,Jsp+Servlet+Bootstrap开发】 该项目是一个IT毕业设计,旨在构建一个基于Web的考研资源共享平台。它利用了Java技术栈中的JSP(JavaServer Pages)、Servlet以及前端框架Bootstrap,为...
### JSP简答题知识点详解 #### 一、EL表达式隐含对象...3. **ActionServlet**:核心控制组件,负责请求处理和业务逻辑分发。 这些知识点涵盖了JSP技术的基础和进阶内容,对于深入理解JSP编程和Web开发具有重要意义。
《J2EE笔试题目答案经典篇》是一份涵盖了J2EE技术领域多个方面的资源,旨在帮助备考者系统性地复习并解答可能出现的笔试题目。这份资料主要包括四个部分:Java基础题、JSP&Servlet技术、J2EE相关知识以及其他知识点...
《深入浅出Servlets and JSP第二版》作为一本专注于Java Web开发技术的书籍,主要涵盖了Servlet和JSP两项技术,并且强调了学习过程中的趣味性和易理解性。下面,我们来详细探讨一下从给定信息中可以提取的相关知识点...
根据提供的文件信息,这里将基于“jsp考试笔记”的标题、描述及部分难以辨识的内容来构建一份关于JSP(JavaServer Pages)的...对于想要深入了解JSP或者备考JSP相关考试的学习者来说,深入研究上述知识点是非常有益的。
"jsp考研通管理系统"是一个专为考研学生设计的在线学习和管理平台,它利用Java Server Pages(JSP)技术构建,旨在提供一个高效、便捷的学习环境。JSP是一种基于Java的服务器端脚本语言,用于生成动态网页内容,是...
【广工 jsp 复习资料】是一套针对JavaServer Pages (JSP)技术的复习材料,适合广东工业大学的学生或对JSP有兴趣的学习者进行深入学习和备考。这份资料涵盖了JSP的基础知识、数据库交互以及面试相关的技能点,旨在...
2. **Servlet与JSP的关系**:两者在Web应用中的角色,如何交互,以及何时选择使用JSP或Servlet。 3. **MVC设计模式**:在JSP应用中的实现,Controller、View、Model的角色和作用。 4. **EL表达式**:如何使用EL简化...
**CET学习网代码及详细文档** 在当前的数字化时代,网络教育平台已经成为学习者获取知识的重要途径之一。...这不仅对于四六级备考者的学习有所帮助,也对想从事Web开发的程序员提供了宝贵的实践案例。
SCWCD是Oracle公司提供的一个专业认证,旨在验证开发者在使用Java Servlet和JavaServer Pages (JSP)技术构建Web应用程序方面的能力。这个【描述】中的"最新版考试软件"指的是专门用于帮助考生准备SCWCD考试的应用...
- 认为市场上没有比《Head First Servlets & JSP》更好的介绍Servlet技术的书籍。 - 对于新接触Java Web开发的读者来说,本书易于理解且实用。 4. **Theodore Casser(资深软件开发者)**: - 将本书作为推荐给...
SCWCD,全称Sun Certified Web Component Developer,是Oracle(原Sun Microsystems)为Java开发者提供的一项专业认证,主要测试考生在构建动态Web应用程序方面的能力,包括Servlet、JSP(JavaServer Pages)、...
这些知识点涵盖了JavaWeb开发的基础部分,包括JSP、JavaBeans、JDBC、Servlet、作用域、SQL查询、JSP指令和元素等,对备考JavaWeb考试非常有帮助。深入理解和掌握这些知识点,能有效提升在考试中的表现。
"310-081" 是SCWCD(Sun Certified Web Component Developer)认证考试的一个常见代号,这个称号是Java Web开发领域的专业认证,主要针对Servlet和JSP(JavaServer Pages)技术。SCWCD认证是Java EE(Enterprise ...
这个认证测试开发者在设计、开发和维护基于Servlet和JSP的Web应用程序方面的能力。 ### Java Web Servlets Servlets是Java平台用于扩展服务器功能的组件,它们是服务器端的Java应用程序,可以响应客户端发送的请求...
通过这个认证,开发者可以展示他们在Servlet、JSP(JavaServer Pages)和JSTL(JavaServer Pages Standard Tag Library)等技术上的专业知识。 SCWCD考试通常包括以下几个关键领域的知识点: 1. **Servlets**:...
这个认证主要针对的是Servlet、JSP(JavaServer Pages)以及JSTL(JavaServer Pages Standard Tag Library)等技术。"SCWCD晨报模板"可能是指一个用于准备SCWCD考试的学习资料或每日复习计划,通过系统化的方式帮助...