文档章节

NOTE:Jsp and Servlet

猪刚烈
 猪刚烈
发布于 2014/10/12 11:41
字数 1548
阅读 8
收藏 0
点赞 0
评论 0

2007-4-13
____________________________________________________________________________________________
1.web服务器用于处理HTTP请求,而应用服务器则用于提供和web应用相关的服务
2.Servlet是利用HttpServletRequest类的getParameter()方法来取得网页传来的数据.不过
  数据通过HTTP协议传输时会被转码,因此在润滑剂地,必须再做转码的工作,才能正确地接收到
数据.

2007-4-16
____________________________________________________________________________________________
1.关于response.sendRedirect(String str)

2.关于response.setHeader(String str1,String str2)

3.session对象不像其他的隐含对象,可以在任何的JSP网页中使用,如果在JSP网页中,
page指令的属性session设为false时,使session对象就会产生编译错误.

4.关于pageContext
默认情况下,pageContext的作用域是其所在网页,但是它的功能远不止此.
一方面它能够读取和设置四种作用域不同的对象的属性(通过在它的setAttribute()和getAtrribute()
方法的中添加一个int型参数,来指定其读取和设置的属性所处的域)
另一方面它还具有取得当前页面中session/request/response/application隐含对象的能力!

2007-4-17
____________________________________________________________________________________________
1.关于http的请求与响应的

http作用一种非常简单的通信模型:即请求与响应模式.
客户端需要获取资源或申请服务时,它会向服务器发送一个请求,然后服务器接受请求,给出一个响应.
在http中请求与响应都有固定的形式:

对于一个请求它主要包含一个请求行和一个请求头标和一个请求体.如:

GET /index.html HTTP/1.1 /*请求行*/

Host: www.gefionsoftware.com /*请求头标*/
User-Agent: Mozilla/5.0 (Windows; U; Win 9x 4.90; en-US; rv: 1.0.2)
Accept: image/gif, image/jpeg, image/pjpeg, image/png, */*
Accept-Language : en
Accept-Charset : iso-8859-1,*,utf-8

对于一个响应,它主要包含一个响应行/一个响应头标/和一个可选的响应体(例如一段html代码)

HTTP/1.1 200 OK //响应行,其中200为响应代码,它标示了响应的状态,

Last-Modified: Mon, 20 Dec 2002 23:26:42 GMT //以下为响应头标
Date: Tue, 11 Jan 2003 20:52:40 GMT
Status: 200
Content-Type: text/html
Servlet-Engine: Tomcat Web Server/5.0
Content-Length: 59
   
<html> //以下为响应体
  <body>
    <h1>Hello World!</h1>
  </body>
</html>

2.关于请求的参数的传递方法
在一个请求中,有用的请求信息就是请求参数,它是一种map,由键-值对构成.
这些参数的传递方法有两种:GET和POST.
对于这两种方法的不同之处在于:
1) GET方法将参数转换为查询字串,把它们加在指定的URL之后,中间有用问题连接,然后传送至
指定的程序做处理.
2) POST方法将参数做为请求体的一部分传递出去.在URL中看不到相关的信息.
一般来说get方法用于传送信息量较少的请求(少于255个字符)
而POST而用于传送信息量很大的请求.另外在传递用户名称和密码时,为防止它们出现在URL
中,应使用POST方法.

3.所有的控件必须放在<form>.....</form>之中.


2007-4-19
_____________________________________________________________________________________________________________________
1.关于jsp指令.(page/include/taglib)

a directive doesn't directly affect the content of the response sent to the browser, but it tells the container how it should handle the page

一个jsp指令并不会影响送至浏览器的响应的具体内容,但是它会告诉容器应该如何处理这个页面

 

2009-8-10

 

 

1.关于Servlet的生命同期

The servlet is normally
created when a user first invokes a URL corresponding to the servlet, but you
can also specify that the servlet be loaded when the server is first started。

Servlet默认是延迟加载的,即只有请求第一次委派到这个Servlet上时,Servlet容器才会创建这个Servlet的实例,然后调用init方法进行初始化。此后再有请求到达时,容器会新起一个线程或是从线程池中分配一个闲置线程,在该线程中进行service方法,而service方法的主要工作就是查看HTTP请求,找出是由哪种方法提交的请求(比如:GET,POST等等),然后调用相应的doXXX方法处理请求。

以下servlet生命周期示意图:

 

2.关于Servlet的类层次结构

 

3.关于HttpServletRequest和HttpServletResponse

 

Q: Who implements the interfaces for HttpServletRequest and HttpServletResponse? Are those classes in the API?
A: The Container, and No. The classes aren’t in the API because they’re left to the vendor to implement. The good news is, you don’t have to worry about it. Just trust that when the service() method is called in your servlet, it’ll be handed references to two perfectly good objects that implement HttpServletRequest and HttpServletResponse. You should never care about the actual implementation class name or type. All you care about is that you’ll get something that has all the functionality from HttpServletRequest and HttpServletResponse.
In other words, all you need to know are the methods you can call on the objects the Container gives you as part of the request! The actual class in which they’re implemented doesn’t matter to you—you’re referring to the request and response objects only by the interface type.

 

记住:HttpServletRequest和HttpServletResponse都是接口,平台API中没有任何这两个接口的实现类,它们的实现类都是由Servlet容器定义和创建的,对于开发人员来说,并不需要了解这些,只要使用接口就OK了。

 

4.为什么会有GenericServlet 、ServletRequest 、 ServletResponse?而不是只保留http打头的那些对应类呢?

Q: I’m still confused about why there’s a GenericServlet and ServletRequest and ServletResponse. If nobody’s doing anything except HTTP servlets... then what’s the point?
A: We didn’t say nobody. Somebody, somewhere, one could imagine, is using the servlet technology model without the HTTP protocol. Just nobody we’ve met personally or read about. Ever.
Still, the flexibility was designed into the servlet model for those who might want to use servlets with, say, SMTP or perhaps a proprietary custom protocol. The only support built-in to the API, though, is for HTTP, and that’s what virtually everyone’s using.

原因在于:原则上讲Servlet技术并不只是单单同http协议工作的,理论上讲Servlet能和应用层的各种协议工作,比如SMTP,FTP,Talnet等等。这就是设计GenericServlet 、ServletRequest 、 ServletResponse的用意,可以由他们扩展出像FTPServlet,FTPRequest这样的类来,使得Servlet可以和其他应用层协议工作。

 

 

 

5.关于Servlet生命周期和Request的重点:

 

本文转载自:http://blog.csdn.net/bluishglc/article/details/4429942

共有 人打赏支持
猪刚烈
粉丝 22
博文 708
码字总数 110
作品 1
海淀
程序员
JSP 学习总结---学习笔记

什么是JSP 1)为什么说,Servlet是一个动态Web开发技术呢? Servlet是基于服务端的一种动态交互技术, HttpServletRequest表示客户端到服务端的对象 HttpServletResponse表示服务端到客户端的...

知止内明 ⋅ 04/18 ⋅ 0

Servlet的一些细节--学习笔记

Servlet细节 1)浏览器访问的url-pattern只是一个符合格式的任意字符串,以/开头 2)一个Servlet的url-pattern可以是1个或多个,有二种形式; a).xx b)/xx/ 注意:/不能一起直接使用 3)/和....

知止内明 ⋅ 04/17 ⋅ 0

web项目中web.xml的作用

每个javaEE工程中都有web.xml文件,那么它的作用是什么呢?它是每个web.xml工程都必须的吗? 一个web中可以没有web.xml文件,也就是说,web.xml文件并不是web工程必须的。 web.xml文件是用来...

ChinaHYF ⋅ 04/27 ⋅ 0

Servlet创建运行的过程--生命周期以及自动加载

前言 初学者像我这样的,刚开始学的时候一脸懵逼,为什么Servlet可以直接运行,明明没有入口啊 只是重写了Servlet中的方法。然后访问该地址怎么就直接运行了。 所以了解Serlvet的运行过程即生...

codingcoge ⋅ 06/12 ⋅ 0

Apache Qpid JMS AMQP 0-x 6.3.1 发布

Apache Qpid JMS AMQP 0-x 6.3.1 已发布。Qpid JMS AMQP 0-x 是兼容 JMS 1.1 的客户端,等同于 AMQP 0-8,0-9,0-9-1 和 0-10。Qpid JMS 是一个使用 Qpid Proton 协议引擎的 Java Message Ser......

淡漠悠然 ⋅ 05/21 ⋅ 0

web.xml中在Servlet中获取context-param和init-param内的参数

web.xml里面可以定义两种参数: 1.application范围内的参数,存放在servletcontext中,在web.xml中配置如下: <context-param> <param-name>context/param</param-name> <param-value>avalib......

村长大神 ⋅ 2014/10/27 ⋅ 0

偶尔有跳转失败的情况,异常如下

[10:37:51:719] [ERROR] - - /refund/refundDetail?mallReturnId=91 java.lang.RuntimeException: File not found : /opt/jboot/webRoot/refund/refundDetail.html at com.jfinal.template.s......

保持-微笑 ⋅ 04/17 ⋅ 0

JavaWeb12-HTML篇笔记(二)

Ø 为什么学习JSTL: JSTL和EL结合 替换页面中<%%> Ø JSTL版本: JSTL1.0 :不支持EL表达式. JSTL1.1 和 1.2 :支持EL表达式. Ø JSTL的标签库:包含了五类标签. core(核心标签),fmt(国际化标签)...

我是小谷粒 ⋅ 05/28 ⋅ 0

Java Web(一) Servlet详解!!

一、什么是servlet?     处理请求和发送响应的过程是由一种叫做Servlet的程序来完成的,并且Servlet是为了解决实现动态页面而衍生的东西。理解这个的前提是了解一些http协议的东西,并且...

architect刘源源 ⋅ 05/08 ⋅ 0

Tomcat,JBoss与JBoss Web

最近接触到应用服务器JBoss,此外JBoss Web与Tomcat也同为web服务器,便查阅资料对三者进行比较,供大家参考。 一、Tomcat Tomcat 服务器是免费开源的Web 应用服务器。支持最新的Servlet 和J...

thinkyoung ⋅ 2014/11/16 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部