- 浏览: 153506 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
驭乐MJ:
好!谢谢啦!正在学习使用sean中。。
Seam学习笔记 -
laorer:
00 -现在,互联网造就了一批富翁,但那时,似乎什么都不会去想 ...
如果时光能够回流到八年前 -
liuqizhi0925:
八年前,OMG ,能改变的事情真的很多...
如果时光能够回流到八年前
[Servlet]
● Servlet(Java服务器小程序),是用Java编写的服务器端程序。可以看成是用Java编写的CGI,但是功能和性能比CGI强多了。
● 为了简化开发,我们编写的Servlet一般直接继承自HttpServlet,HttpServlet类封装了编写Http协议Servlet的大部分功能。
HttpServlet类继承自javax.servlet.GenericServlet,间接实现了Servlet, ServletConfig 接口。
A subclass of HttpServlet must override at least one method, usually one of these:
* doGet, if the servlet supports HTTP GET requests
* doPost, for HTTP POST requests
* doPut, for HTTP PUT requests
* doDelete, for HTTP DELETE requests
* init and destroy, to manage resources that are held for the life of the servlet
* getServletInfo, which the servlet uses to provide information about itself
● HTTP 1.1 协议支持7种请求方法:GET、POSt、HEAD、OPTIONS、PUT、DELETE、TRACE。在Internet应用中,最常用的请求方法是GET和POST。
● GET方法是通过URL将数据传送给服务器端,可以直接在url中注明参数,也可以通过表单的方式<form action="xxx" method="get">。存在url的明文传送和数据大小限制的问题。这是默认调用的方式。
● POST方法则可以隐藏发送给服务器端的数据,而不是url的明文传送。所以安全性好些,适合发送大量数据。它是通过表单的方式<form action="xxx" method="post">来发送参数。
● GET方法、POST方法都是通过request.getParameter("xxx")来获取对应参数数据。
● Servlet规范规定,所有的Servlet都必须在Web配置文件web.xml中声明。部署Servlet时,必须在相应web项目的web.xml文件中指定这个servlet的名字和类,同时做servlet的映射。
● Servlet规范规定,在WEB-INF目录下的内容是私有的,对Web客户端来说不可访问,当然Web应用本身则可以完全访问。
● Servlet规范规定,首先加载WEB-INF/classes目录中的资源,然后才是WEB-INF/lib目录。
● 有关Servlet的官方DTD描述:(DTD可以看做是标记语言的语言文件,它是一套定义XML标记如何使用的规则。)
(摘自 http://java.sun.com/dtd/web-app_2_3.dtd )
<!-- The servlet element contains the declarative data of a servlet. If a jsp-file is specified and the load-on-startup element is present, then the JSP should be precompiled and loaded. Used in: web-app --> <!ELEMENT servlet (icon?, servlet-name, display-name?, description?, <!-- The servlet-class element contains the fully qualified class name of the servlet. Used in: servlet --> <!ELEMENT servlet-class (#PCDATA)> <!-- The servlet-mapping element defines a mapping between a servlet and a url pattern Used in: web-app --> <!ELEMENT servlet-mapping (servlet-name, url-pattern)> <!-- The servlet-name element contains the canonical name of the servlet. Each servlet name is unique within the web application. Used in: filter-mapping, servlet, servlet-mapping --> <!ELEMENT servlet-name (#PCDATA)> |
● 所有的JSP都必须编译成Servlet,并且在Servlet容器中执行。但Servlet必须手动编译成类,而修改JSP时只要修改它的源程序,容器会对发生改变的JSp进行自动编译。
JSP会被web服务器编译成Servlet(在tomcat中生成的.java文件和.class文件是存放在 %CATALINA_HOME%\work\Catalina目录下)。如果JSP页面中没有使用Page指令特别指定method属性,则JSP中所有的Scriptlet会被合并包含在该Servlet的Service方法(即_jspService()方法)中。所以在Scriptlet中可以包含任何合法的java注释,可以调用其他类(只需在page指令中import);任一小段Scriptlet中定义的变量或方法都可以再另一小段Scriptlet中调用。
● JSP可以把显示和内容分离,实现的方法就是借助JavaBean。重新编译JavaBean时,tmd还得重启Tomcat服务器?
● 一般的JSP项目,可以采用JSP+Servlet+JavaBean的模式,此模式遵循视图控制器(MVC)模式,在此模型中,javaBean作为模型的角色,封装数据;Servlet作为控制器,处理业务逻辑;最后由JSP进行显示。
● Java Servlet API中有几个比较重要的类,它们决定了Web应用的请求/响应方式及各种共享数据的存放地点“
* HttpServletRequest,Servlet组件从HttpServletRequest对象中读取用户的请求数据;此外HttpServletRequest可以存放request范围内的共享数据。
* HttpServletResponse,用于生成Http响应结果。
* HttpSession,存放session范围的共享数据 。
* ServletContext,存放application范围的共享数据。
● Servlet类使用javax.servlet.RequestDispatcher.forward()方法来转发它所收到的Http请求。
● 清楚 session,attribute,cookies,querystring等的区别。
A: 客户端一关闭,session就失效了。
● 清楚 request,response的作用,构成元素。
A: request有header,response也有header
● 以下是《More Servlet and JSP》的读书笔记。
1. HTML文档的 DOCTYPE行的好处是告诉HTML验证程序使用的是何种版本的HTML,以便验证程序知道依据何种规范检查HTML文档。
2. Servlet的service方法检查HTTP请求类型(GET,POST,PUT,DELETE等),并适当地调用doGet,doPost等方法。其他方法(如put,delete等)是有客户机产生的。
3. 如果希望你的servlet阻止多线程地访问,可以使servlet继承自SingleThreadModel接口。
在jsp中,则可以通过<@ page isThreadSafe>属性来指定。
4. HTTP的请求头是直接由浏览器设置并跟在开始的GET或POST请求行之后立即发送的。
5. HTTPSession对象位于服务器上,它们只是通过某种后台机制,如cookie或URL重写与客户机自动关联。
6. 什么时候需要synchronized代码块。线程跟进程的区别?
7. ServletContext是全部Servlet共享的上下文,
ServletConfig是全部Servlet共享的配置对象(即web.xml信息)
而PageContext仅仅是单个JSP文件的上下文;Servlet是没有PageContext对象的。
8. servlet可以发送请求到同一服务器的任意位置。
9. 网页中的image,css等如果使用了相对路径,则最好是相对于服务器的根,而不是相对于目的页的实际位置。
否则程序如果使用了servlet.forward(),则可能出现路径错误的bug.
10. Web应用的简单验证包括用户再HTML表单或对话框中输入用户名和口令,更强的验证包括使用由客户机发送到服务器的X509证书。
11. 为防范攻击者在网络数据传输中窃取数据;此过程涉及使用SSL(Secure Sockets Layer安全套接层),对浏览器及服务器之间的通信进行加密。
12. 利用声明性的安全性(例如在web.xml中指定),就不用单个servlet或jsp去处理安全方面的代码。而可以在web.xml中声明某些
URL需要保护,某些URL只能利用SSL来访问。
13. ServletRequest的getScheme()方法对常规请求返回"http",对SSL请求返回"https"。同时,isSecure()方法对常规请求返回false,对
SSL请求返回true。
发表评论
-
XStream中使用annotation处理attribute
2009-12-07 14:41 5338原先以为XStream不支持attribute。最近发现v1. ... -
java中关于字符、文件乱码的笔记
2009-10-23 18:29 1871老生常谈的问题了,记录一下以便他人翻阅。 ... -
Java的考证
2005-12-19 00:00 1784SCJP —— Sun Certified Java Prog ... -
Groovy笔记
2005-12-05 00:00 1645Groovy 学习: 1. groovy支持动态类 ... -
common-pool笔记
2005-11-28 00:00 1886Apache默认提供的3种ObjectPool: ... -
Java多线程编程详解
2005-11-14 00:00 875一:理解多线程 多线程是这样一种机制,它允许在程序中并发执行 ... -
解析Java的多线程机制
2005-11-07 00:00 892一、进程与应用程序的区别 进程(Process)是最 ... -
Process Thread
2005-10-31 00:00 1003线程有四种状态: ... -
XML学习笔记
2005-10-17 00:00 9451. XML文档的结构是通过DTD或者Schema预先定义 ... -
关于Java垃圾回收机制
2005-10-10 00:00 17461.JVM的gc概述 gc即垃圾收集机制是指jvm用于释放那 ... -
关于ClassLoader
2005-10-03 00:00 1028Java本身是一种设计的非常简单,非常精巧的语言,所以Java ... -
JVM调优总结[转]
2005-09-26 00:00 671堆大小设置JVM 中最大堆大小有三方面限制:相关操作系统的 ... -
EJB学习笔记
2005-09-12 00:00 928<EJB> ● 开发和部署EJB的一 ... -
J2EE学习笔记
2005-09-05 00:00 784<应用框架> [MVC应用框架] ● ... -
Java中volatile和synchronized的区别
2005-08-22 00:00 1858volatile和synchronized的区别: 1.v ... -
《Code Complete》读书笔记
2005-08-15 00:00 10321. 知道何时放弃很难,但这是必须面对的问题。 ...
相关推荐
JSP Servlet 学习笔记 第2版 林信良 随书光盘 第3卷
**林学良Jsp&Servlet学习笔记**: 这份学习资料可能是对JSP和Servlet基础知识的系统性讲解,涵盖了上述概念和原理,适合初学者入门。通过阅读这份笔记,你可以了解JSP和Servlet的基本语法、生命周期、以及如何将它们...
《JSP & Servlet学习笔记(第2版)》是作者多年来教学实践经验的总结,汇集了学生在学习JSP&Servlet;或认证考试时遇到的概念、操作、应用等各种问题及解决方案。 《JSP & Servlet学习笔记(第2版)》针对Servlet 3.0的...
Servlet学习笔记(java的Servlet)。 jsp的学习基础。此笔记可让你5天内学会使用Servlet,可快速入门,也可当手册使用。 更多:http://download.csdn.net/user/daillo/all
由于这部分内容是电子书中的学习笔记,电子书的内容并未直接给出,因此只能根据电子书的标题“JSP&Servlet学习笔记”和描述来推测可能涉及的知识点,而没有具体的电子书内容可以分析。如需进一步学习,建议查阅相关...
吉林大学珠海学院JSP&Servlet学习笔记(第二版)课后答案 本资源为吉林大学珠海学院JSP&Servlet学习笔记(第二版)的课后答案,涵盖了JSP和Servlet相关的知识点。本笔记共分为九章,每章节都包含了相关的问题答案,...
根据提供的文件信息,标题为“JSP&Servlet学习笔记(第2版)_打印版”,描述指出文档经过空白边裁剪处理以便于打印。虽然提供的部分内文无法直接转化为明确的知识点,但我们可以根据标题和描述推测该文档的主要内容,...
Java相关课程系列笔记之九Servlet学习笔记 Java相关课程系列笔记之十JSP学习笔记 Java相关课程系列笔记之十一Ajax学习笔记 Java相关课程系列笔记之十二jQuery学习笔记 Java相关课程系列笔记之十三Struts2学习笔记 ...
jsp&servlet学习笔记(第2版)光盘,买书附赠光盘,完片版本。
[JSP&Servlet学习笔记(第2版)] 林信良
**JSP(Java Server Pages)与Servlet...这个**[JSP&Servlet学习笔记(第2版)]**会涵盖这些主题,并可能包括示例代码、最佳实践和常见问题解答,帮助读者全面掌握JSP和Servlet的使用技巧,进一步提升Java Web开发能力。
### Servlet学习笔记3:深入理解Servlet与Web应用资源管理 #### 标题解析与扩展知识点 **标题**:“Servlet学习笔记3”表明这是系列学习笔记的一部分,专注于Servlet技术的深入探讨。 **知识点**: 1. **Servlet...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP &Servlet;时遇到的概念、操作、应用或认证考试等问题及解决方案。 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都...
本书是作者多年来教学实践经验的总结,汇集了教学过程中学生在学习JSP & Servlet时遇到的概念、操作、应用或认证考试等问题及解决方案。, 本书针对Servlet 3.0的新功能全面改版,无论是章节架构与范例程序代码,都做...