??xml version="1.0" encoding="utf-8" standalone="yes"?>
用request.setAttribute("name",Object),request.getAttribute("name");
或者session.setAttribute("name",Object),session.getAttribute("name");
注意问题Q?br />
才能׃nrequest中数?br />
基础问题Q?
1Q所有再面提交的数据,在ACTION里只能通过request.getParameter( or values).
2Q要想通过attribute传输数据Q必M持在同一个request中,不论中{了几ơ(forwardQ?
另:参考资料:
h一下关于request.setAttribute()的用?谢谢.[?在线{?]
http://m.tkk7.com/flysky19/admin/EditArticles.aspx
问题Q?br />我在myServlet.java的doGet()中写?
request.setAttribute("a","111");
response.sendRedirect("a.jsp");
我的doPost()Ҏ是这样写?
doGet(request, response);
我在a.jsp中写?
String aValue="";
if(request.getAttribute("a")!=null){
aValue= String.valueOf(request.getAttribute("a"));
}
out.println(aValue);
可request.getAttribute("a")L取不到? 是我错误C用了request.setAttribute()Ҏ? 如果惌servletljsp面传一些值应该通过什么方法呢? 谢谢~
解决Q?br />response.sendRedirect("a.jsp");
换成
request.getRequestDispatcher("a.jsp").forward(request,response);
才能׃nrequest中数?br />
]]>
面间传递数?
客户端向服务?
post方式(form,隐藏?和get方式(URL,aa.jsp?param1=abc);
服务器端:
request,session,cookie,application
URL和aa.jsp?paraml=abc是一回事Q后者是前者的一个例?同样的隐藏字D也是指包含在form中的隐藏字段
q有Q可以用javabean一ơ性把前个界面的D动赋到另一个界面?/font>
request.getParameterValues("shrdCategory")取得同名的复选框的各个value?/font>
Q然后数l遍历,取出各个shrdCategory[i]卛_Q?/font>
代码如下所C:
环境保护<input type="checkbox" name="shrdCategory" value="环境保护">
国民l济<input type="checkbox" name="shrdCategory" value="国民l济">
String[] shrdCategoryQrequest.getParameterValues("shrdCategory");
for (int i=0;i<shrdCategory.Length;i++){
System.out.println(shrdCategory[i]);
}
但是要注意,上面q段代码jspq行时报505错误Q!Z么呢Q?br />因ؓ刚进入页面时Q没有复选框无|shrdCategory为nullQ这时不能?/font>
shrdCategory[i]Q?/font>
解决Q?br />加上非null判断Q?br />String[] shrdCategoryQrequest.getParameterValues("shrdCategory");
if (shrdCategory!=null){
for (int i=0;i<shrdCategory.Length;i++){
System.out.println(shrdCategory[i]);
}
}
ok!
板桥里h http://www.jdon.com 2003/02/12
目前所有的B/Spȝ应用可以分ؓQ有状?statefull)和无状?stateless)两大cd?有状态是指在整个pȝ的处理过E中要保留记住一些信息,而无状态则相反Q每ơrequest都是独立的连接,不需要在每个request之间׃n数据{等?
对于q两U应用,通常W一考虑是性能要最优,性能是我们选择IT技术的主要依据之一?/p>
到最大化的性能Q对于JavapȝQ以前通常的作法是使用对象池,q样节约对象生成时的性能开销Q也是说系l启动时Q预先生成一定数目的对象实例在内存中Q需要用时Q从对象池中取出实例Q用完,归还对象池,对于有状态的应用Q可以用相x久化QpersistenceQ策略来保存状态?/p>
下一步,如何q行讉K对象池将是非帔R要,java的多U程技术ؓ我们提供了实现可能,U程的创建销毁也是可能非常耗时的,那么Q无疑象使用对象池一P我们必须使用U程池来实现多线Eƈ行计的最优化?/p>
使用U程池和对象池,每次客户端请求发生一ơ就从线E池中借用一个线E,处理完这个请求就线E返回线E池Q同P使用U程快速的讉K对象Q对象也是从对象池中借用Q用完就q回对象池?整个q样的架构设计在性能上是最优的?/p>
有了性能保证Q安全机制、事务机制、集?cluster)技术也是选择IT技术的主要依据?/p>
J2EE是q样一个实Cq多U考量的综合标准框架系l,在具体用中Q也许我们对所有这些考量的要求ƈ不都一样重视,比如Q如果纯_追求性能是第一Q可以忽视事务机Ӟ那么Q完整的J2EE技术也许就q不适合你?/p>
那么我们先看看J2EE是如何从性能上保证我们的应用pȝ以最快速度q行的,也就是说J2EE中必然应该有上述U程池和对象池的实现技术,servlet实际是基于线E池的更好的U程容器QEJB是基于对象池的更好的对象容器?/p>
看看Servler的架构图Q?/p>
当client1发生h时servlet容器会从U程池中分配一个线E给q个request.
再看看EJB的架构图Q?/p>
instance Pool作ؓ一个对象实例池Q维持着EJB实例Q当然这个对象池是用生命周期的,单的?EJB=对象?q程对象?/p>
但是QEJBq整合了相当的其它增强功能,如安?事务机制{,q些对于一般应用都是必需的,当然你还必须Ҏ你的需要来选择是否使用J2EEQ如果你的应用对安全 事务机制没有要求Q直接用线E池和对象池技术肯定获得最好的性能?/p>
所以,ҎServler和EJB的原理,我们已经可以规划我们的应用,什么可以放在servletQ或什么需要放在EJB中实玎ͼ
U程的本质决定了servlet只适合一些轻量的应用Q如分析单XML文档, 通过JDBC讉K数据源,使用JMS或JavaMail处理单的信息MessageQ或使用JTS/JTA处理单的事务机制Q注意这些用词都??的,一旦复杂了Q就要用EJB了?/p>
下面从客L和服务器端两个方面来具体考量q两个技术的使用Q这里的客户端不一定是指最l客LQ因为J2EE是多层结构,中间层可能在多个服务器上实现Q如果一个服务器上的服务是供另外一个服务器上的应用讉K的,那么后者我们也UCؓ客户端?/p>
Ҏ应用的复杂程度和要求不同Q分下列情况Q?/p>
1.在WEB层可以实现的一些应?/p>
如果你的pȝ没有很复杂的事务处理Q或讉K很多企业原有的资源,那么可以借助javabeanq样的一些Help性质的类来实C的应用,但是Q这LҎ不是最q净clean, 最有效efficient, 或最有扩展性的scalable?/p>
否则Q将所有核心计放|入EJB中?/p>
2.所有的复杂商务计算核心都在EJB中完?/p>
如果你的客户端和服务器端之间有防火墙Q那么目前能够无障碍通过防火墙的协议只有Http?Web Service也是Zhttp是q个道理)Q既然用http了,而Servlet是基于Http协议的,那么需要通过servlet来访问EJBQ这是我们最普遍的应用情c?/p>
但是Q如果你的客L和服务器端可以放|在一个网l内Q之间没有防火墙Q那么就不必使用ServletQ直接用Java调用RMI来访问EJBQ这h能是最好的Q这时的Servlet大概只有用于控制Jsp的页面的输出?MVC模式中的控制作用)?/p>
如果是非java客户端,可以通过CORBAlg来访问EJB?/p>
3.如果你的应用寚w度要求很高Q要求非常快Q对于事务处理等斚w几乎无要?/p>
直接使用J2SEQ加上线E池和对象池技术,会使你的javapȝ性能发挥极致。Jakarta.Apache.org有这两种技术的源码Q线E池可以从Servlet容器Tomcat的源码中发现?/p>
2. 修改 MapServlet.java Q?/span>
l?/span> search Q)Ҏ多添加一个参?/span> tableName Q把 tableName 的gl需要它?/span> getViewData(String tableName) 函数Q?/span>
实现 doGet() ҎQ多接受一个参?/span> tableName Q把 tableName 传给 search Q)函数 ;
Q即Q?/span> String tableName =request.getParameter(“tableName?; search(request,type,tableName Q?/span> );
3. index2.jsp
?/span> type ?/span> tableName 的gl?/span> MapServlet Q?/span>
Var url=?BasePlatform_project/servlet/MapServlet ?
Var pars=’type= ?par+?amp;tableName?tableName;
( 注:路径为: url?pars; 卻I /servlet/MapServlet Q?/span> ’type= ?par+?amp;tableName?tableName )
问题Q?/span>
Jsp,servlet,java
cM间的传递有待学?/span>
1. doGet() ?/span> doPost() 的区别:
参考资?/span> 1 Q?/span> http://bbs.blueidea.com/viewthread.php?tid=891513&page=
l
servlet
它有一?/span>
Ҏ
默认
被执?/span>
在接?/span>
用户h?/span>
,
q个Ҏ
是
service()
它会
Ҏ
用户?/span>
具体?/span>
hcd
自动选择
使用哪种Ҏ
反应
.
l
可以理解为针?/span>
form
?/span>
get ,post
来执行相应的
doGet,doPost
Ҏ
l
form
?/span>
get
?/span>
post
有什么区别.Q.q个是重点.Q嘿~~谢了Q.
l
get
是地址栏参C?/span>
,
q且没有正文体内?/span>
,
它仅仅由一个方法语句和不同的请求标题域
l成
.
例如
:
GET /login.html?userName=Iori&passWord=12345 HTTP/1.0
User-Agent:Mozilla/4.51[en](WinNT;1)
Accept:image/gif,image/jpeg.image/pjpeg,*/*
上面是表?/span>
选择Ҏ?/span>
get
?/span>
点击提交事g
自动d?/span>
地栏?/span>
,
当然
你也可以q自己写
q样的东?/span>
.
post
的不?/span>
在于
参数信息
保存?/span>
正文体中
对用?/span>
是不可见?/span>
.
不像
get
Ҏ
,
不能通过改写览器地址
来发送一?/span>
post
h
而前者可?/span>
.
q样不安全的
一?/span>
post
h?/span>
例子
如下
:
POST /login.html HTTP/1.0
User-Agent:Mozilla/4.51 [en] (WinNT;1)
Accept:image/gif,image/jpeg,image/pjpeg,*/*
Content-Length:34
Content-Type:application/x-www-form-urlencoded
userName=Iori&passWord=12345
看到了吧
数据被存?/span>
正文体中?/span>
q就是它们之?/span>
最大的区别
.
参考资?/span>
2
Q?/span>
http://book.77169.org/data/web5409/20050328/20050328__3854464.html
问题Q?/span>
1Q?span style="FONT: 7pt 'Times New Roman'"> servlet 中处理的ҎQ有 doPost Q) doGet Q) 中的ҎQ它们都有共同的参数Q那是 HttpServletRequest HttpservletResponse 对象Q可是我不知道这两个Ҏ有什么区别,什么该?/span> doPost() 什么时候该?/span> doGet() 呢?Q?/span>
2Q?span style="FONT: 7pt 'Times New Roman'"> servlet 中的 service Q)Ҏ又是q什么的呢?Q它?/span> doPost() doGet() 又有什么关pdQ?/span>
回答Q?/span>
l get ?/span> post {那些是指浏览器传给 Servlet 的方法,可以?/span> form ?/span> action 中指定,?/span> action="post",action="get" 之类的,默认使用 get Q如在浏览器直接输入 xxx?param1=xx¶m2=xx Q这U方式是 get ?/span>
l service() ?/span> doGet(),doPost() 的关pLQ?/span> servlet 先调用默认执行的 service() ҎQ由它决定调用哪个处理方法?/span>
l
我来解释一下什么是Get、Post吧:
1.Post方式是通过表单的submit()Ҏ提交到服务器的,当然servlet调用的是doPost();
2.Get方式是自定义\径传参数Q比如:../servlets/XX.jsp?parameterName=parameterValue&...
q种形式提交到服务器的,对应的是doGet()Ҏ。这U方式一般有长度限制Q打的参数多了提交不上去?br />
一般在servlet里面是不用管以哪知Ş式提交的Q可以定义一个公共方法,在doPost()和doGet()Ҏ里面都去调用Q或者:doPost(){ doGet() }
l
get
Ҏ我们可以在地址栏中直接输入参数也可以的
?/span>
post
Ҏ在地址栏中直接输入׃可以?/span>
,
昄不出面?/span>
问题Q?/span>
1. servlet 是一个接口吗Q是不是接口必d其所有方法实例化Q也是_一一实例?/span> init(),service(),doGet(),doPost() ?/span> destroy() ҎQ?/span>
2. doGet() ?/span> doPost() Ҏ什么时候可以统一调用Q比?/span> doPost(){ doGet();}. 既然使用 doPost() Ҏ不能从地址栏里输入参数讉KQ那么ؓ什?/span> doPost() 可以直接使用 doGet() Ҏ呢?反过来, doGet() 可是使用 doPost() Ҏ吗?
3. servlet 的方法有哪些Q除?/span> init(),service(),doGet(),doPost() ?/span> destroy() Ҏ之外q有别的吗?如果只有q五个方法,那么是不是说Q写一?/span> servlet Q就是要实现 doGet() ?/span> doPost() ҎQ(因ؓ service Ҏ是默认一定启动的Q?/span>
4. java 中接口和 c++ 中虚函数的区别是什么?
参考资?/span> 1 Q?/span> http://www.51dibs.com/html/2006/article/info4/a_11af20782d07b7b7.htm
什么是接口Q?/span>
?/font>
Java中,接口是不相关的对象相互交互的讑֤。Java接口?br />协议很相伹{实际上Q其它面向对象语a也有Java的接口的
功能Q但是它们称为协议?/font>
Java接口定义了一套方法,但没有实现它们。一个实现接口的
cd以实现定义在q个接口中的所有方法,因此可以实现一?br />的行为?/span>
定义Q接口是Ҏ定义Q而不实现Q的被命名的集合。接口也
可以包括帔R定义?/font>
参考资?/span> 2 Q?/span> http://www.umlchina.com/best/g30/u1144079.htm#1144178
l
Java中的接口和抽象类的区别,在于接口中没有属性,而且所有的Ҏ都是抽象的,而抽象类可以有属性,而且可以有抽象方法,也可以有实现的方法。但两者都不能被实例化?
使用的时候,一个类可以l承多个接口Q但只能l承一个抽象类?o:p>
l
抽象cM接口的重大区别就在于它能提供一部分实现Q包括方法和属性。在某些情况下这是非常有用的Q比如在
template method模式中?
你说“有了单U的接口Q就不应该用抽象类了”,q种说法未免q于l对了?
在逻辑上,抽象c表CZ抽象的概念,它们的一部分行ؓ需要在具体的子cM定义Q但同时又定义了子类的一部分分共性的行ؓ和属性?o:p>
l 我认为抽象类基本是?span lang="EN-US">“实现机制”?o:p>
我们在分析的时候会ȝ一个类是不是抽象类吗?不会吧?
它的意义在于提供了一个安全的机制Q把一些类的共同行为抽象到一个“半成品”类中,又组lh们用这个“半成品”类?o:p>
自己的理解:Q结合例子来理解Q?span lang="EN-US">
理解接口Q?span lang="EN-US">
接口中没有属性,而且所有的Ҏ都是抽象的; 比如?span lang="EN-US">Servlet都是通过实例化接口实现的Qservlet接口定义了init(),service(),doGet(),doPost(),destroy()ҎQ但是只是定义,没有d现它们,实现一个servletcL一一实现servlet接口定义的方法?o:p>
理解抽象c:
l
抽象cd以有属性,而且可以有抽象方法,也可以有实现的方法?/span>
l
逻辑上,抽象c表CZ抽象的概念,它们的一部分行ؓ需要在具体的子cM定义Q但同时又定义了子类的一部分分共性的行ؓ和属性?span lang="EN-US">
l 感觉是,接口没有属性也没有已经实现的方法,适合?span lang="EN-US">servletq种cd的类似的协议的机Ӟ而抽象类提供了一个抽象和半成品的概念Q定义了所有子cȝ共有属性,q实C所有子cȝ共有ҎQ子cd需要在此基上实现自qҎ属性和ҎQ更安全Q更方便。比如一个典型的例子Q关于“R”类Q定义成一个抽象类Qƈ把所有R的共有属性和Ҏ都定义ƈ实现了,子类Q比如carQ就可以在此基础上承ƈ定义和实现自q有的属性和Ҏ可以了。没必要定义为接口,把共有的属性和Ҏ也要依次各自实现?o:p>
5. java 中ؓ什么没有多l承Q你是如何理解的Q?/span>
6.extends
?/span>
implent
的区别?
This means that if you try to connect to 127.0.0.1, you are immediately looped back to your own machine.
If you telnet, ftp, etc... to 127.0.0.1, you are connected to your own machine.
In other words, 127.0.0.1 is you.
For example, if your system was named "joker", and you attempted to telnet to 127.0.0.1, you would see:
# telnet 127.0.0.1
Trying 127.0.0.1...
Connected to joker
Escape character is '^]'.
Convincing newbie's to connect to 127.0.0.1 is a frequent joke on the Internet.
Another name for 127.0.0.1 is localhost.
Although 127.0.0.1 is the most commonly utilized address for localhost, any IP address in the 127.*.*.* range should also function in the same manner.
一?/span> 开发环境配|?/span>
W一步:下蝲 j2sdk ?/span> tomcat Q?/span>
W二步:安装和配|你?/span> j2sdk ?/span> tomcat Qƈ分别讄环境变量Q?/span>
W三步:建立自己?/span>
jsp app
目录
1.
?/span>
Tomcat
的安装目录的
webapps
目录Q可以看?/span>
ROOT
Q?/span>
examples, tomcat-docs
之类
Tomcat
自带的的目录Q?/span>
2.
?/span>
webapps
目录下新Z个目录,起名?/span>
myapp
Q?/span>
3.myapp
下新Z个目?/span>
WEB-INF
Q注意,目录名称是区分大写的;
4.WEB-INF
下新Z个文?/span>
web.xml
Q内容如下:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
</web-app>
5.
?/span>
myapp
下新Z个测试的
jsp
面Q文件名?/span>
index.jsp
Q文件内容如下:
<html><body><center>
Now time is: <%=new java.util.Date()%>
</center></body></html>
6.
重启
Tomcat
7.
打开览器,输入
http://localhost:8080/myapp/index.jsp
看到当前旉的话说明成功了?/span>
W四步:建立自己?/span>
Servlet
Q?/span>
1.
用你最熟悉的编辑器Q徏议用有语法查的
java ide
Q新Z?/span>
servlet
E序Q文件名?/span>
Test.java
Q文件内容如下:
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Test extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out=response.getWriter();
out.println("<html><body><h1>This is a servlet test.</h1></body></html>");
out.flush();
}
}
2 .
~译
?/span>
Test.java
攑֜
c:\test
下,使用如下命o~译Q?/span>
C:\Test>javac Test.java
然后?/span>
c:\Test
下会产生一个编译后?/span>
servlet
文gQ?/span>
Test.class
注意Q?/span>
如果出现无法
import javax.servlet.*
那么是应该?/span>
C:\Tomcat\common\lib
里面?/span>
servlet-api.jar
文g拯刎ͼ
JAVA_HOME
Q?/span>
\jre\lib\ext
中,再次~译Q就没有问题了!
解析Q?/span>
serlvet / jsp
属于
J2EE
的一部分Q而不?/span>
J2SE
的一部分?/span>
3 .
结?/span>
test\Test.class
剪切?/span>
%CATALINA_HOME%\webapps\myapp\WEB-INF\classes
下,也就是剪切那?/span>
test
目录?/span>
classes
目录下,如果
classes
目录不存在,新Z个?/span>
现在
webapps\myapp\WEB-INF\classes
下有
test\Test.class
的文件目录结?/span>
4 .
修改
webapps\myapp\WEB-INF\web.xml
Q添?/span>
servlet
?/span>
servlet-mapping
~辑后的
web.xml
如下所C,U色为添加的内容
:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
"http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
<display-name>My Web Application</display-name>
<description>
A application for test.
</description>
<servlet>
<servlet-name>Test</servlet-name>
<display-name>Test</display-name>
<description>A test Servlet</description>
<servlet-class>test.Test</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test</servlet-name>
<url-pattern>/Test</url-pattern>
</servlet-mapping>
</web-app>
q段话中?/span>
servlet
q一D声明了你要调用?/span>
Servlet
Q?/span>
servlet-mapping
则是声明的
servlet"
映射
"
到地址
/Test
?/span>
5 .
好了Q重启动
Tomcat
Q启动浏览器Q输?/span>
http://localhost:8080/myapp/Test
如果看到输出
This is a servlet test.
p明编写的
servlet
成功了?/span>
注意Q修改了 web.xml 以及新加?/span> class Q都要重?/span> Tomcat ?/span>
W四步:建立自己?/span>
Bean
Q?/span>
1.
用你最熟悉的编辑器Q徏议用有语法查的
java ide
Q新Z?/span>
java
E序Q文件名?/span>
TestBean.java
Q文件内容如下:
package test;
public class TestBean{
private String name = null;
public TestBean(String strName_p){
this.name=strName_p;
}
public void setName(String strName_p){
this.name=strName_p;
}
public String getName(){
return this.name;
}
}
2 .
~译
?/span>
TestBean.java
攑֜
c:\test
下,使用如下命o~译Q?/span>
C:\Test>javac TestBean.java
然后?/span>
c:\Test
下会产生一个编译后?/span>
bean
文gQ?/span>
TestBean.class
注释Q自q部v
StuInfoBean.java
Q?/span>
eclipse
的工作空间目录ؓ?/span>
F:\workspace
”,工程名称为?/span>
HelloWord?/span>
Q目录ؓ
F:\workspace\HelloWord,
?/span>
StuInfoBean.java
攑֜
F:\workspace\HelloWord\com\javaBean
下,Q注Q?/span>
com
?/span>
javaBean
是自己徏的两个文件夹Q,使用如下命o~译Q?/span>
F:\workspace\HelloWord\com\javaBean>javac StuInfoBean.java
然后?/span>
F:\workspace\HelloWord\com\javaBean
下会产生一个编译后?/span>
bean
文gQ?/span>
StuInfoBean.class
Q?/span>
3 . ?/span> TestBean.class 文g剪切?/span> %CATALINA_HOME%\webapps\myapp\WEB-INF\classes\test 下,
自己的部|Ԍ
目录结?/span>
com\javaBean\StuInfoBean.class
拯?/span>
%CATALINA_HOME%\webapps\myapp\WEB-INF\classes
下;卛_
StuInfoBean.class
文g剪切?/span>
%CATALINA_HOME%\webapps\myapp\WEB-INF\classes\com\javaBean
下,Q?/span>
classes,com,javaBean
都是自己建的文g夹)Q最后目录结构如下:
%CATALINA_HOME%\webapps\myapp\WEB-INF\classes\com\javaBean\StuInfoBean.class
Q?/span>
4 .
新徏一?/span>
TestBean.jsp
文gQ文件内容ؓQ?/span>
<%@ page import="test.TestBean" %>
<html><body><center>
<%
TestBean testBean=new TestBean("This is a test java bean.");
%>
Java bean name is: <%=testBean.getName()%>
</center></body></html>
5 .
好了Q重?/span>
Tomcat
Q启动浏览器Q输?/span>
http://localhost:8080/myapp/TestBean.jsp
如果看到输出
Java bean name is: This is a test java bean.
p明编写的
Bean
成功了?/span>
q样完成了整个
Tomcat
下的
jsp
?/span>
servlet
?/span>
javabean
的配|。接下来需要做的事情就是多看书、多d人的好代码,自己多动手写代码以增己在q方面开发的能力了?/span>
1. 加蝲和启?/span>
启动意味着创徏一个或多个 servlet ?/span>
2. 初始?/span>
启动后,接着调用 servlet ?/span> init() ҎQ这个方法用?/span> servlet q行初始化,q处理随后到来的hQ如变量初始化或数据库连接?/span>
3. 处理h信息
javax.HttpServletRequest 对象实例中封装了详细的请求信息。然?/span> wl 自动的调用 servlet 中的 service Q)ҎQ然?/span> service() Ҏ会根据具体情况调用相应的ҎQ如处理 post ?/span> get hӞ会调用相应的 doGet Q)?/span> doPost() Ҏ?/span>
4. 服务的结?/span>
在响?/span> wl 控制台的命oQ或?/span> wl server xӞ wl 调?/span> Destroy Q)ҎQ删?/span> servlet 实例Q从而结束一?/span> servlet 的运行?/span>
参考资料:
1. sun |站上资料的译Q?/span>
http://kinlili.spaces.msn.com/
Servlet
的生命周?/span>
一?/span>
Java servlet
h一个生命周期,q个生命周期定义了一?/span>
Servlet
如何被蝲入ƈ被初始化Q如何接收请求ƈ作出对请求的响应Q如何被从服务中清除?/span>
Servlet
的生命周期被
javax.servlet.Servlet
q个接口所定义?/span>
所有的
Java Servlet
都会直接地或间接地执?/span>
javax.servlet.Servlet
接口Q这样它才能在一?/span>
Servlet
引擎中运行?/span>
javax.servlet.Servlet
接口定义了在
Servlet
的生命周期中特定旉以及特定序被调用的Ҏ?/span>
2.
sun
原文资料Q?/span>
http://java.sun.com/products/servlet/2.1/servletspec-2.1.zip
所以:
appletQ表C客L应用程序;
servletQ表C服务器端小E序?br />