|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
专门做了这个例子;而java的这个例子好像就是为了教学而写的,很多教学目的的例子是不考虑优化、性能的。servlet一,甚么是Servlet?
Servlet是切合ServletAPI标准的,在Web服务器上装载和实行的可以承受客户哀求(经由过程Web服务器),实行义务并前往了局的Java类,位置像客户真个Applet。由于它自己是一个JAVA类,以是它具有JAVA的一切长处,另有本人的一些长处:与别的资本交互;平安性;与协定有关。
二,三角干系
标准制订者,容器供应者,组件开辟者。
ServletAPI的正式称号是JSR(JAVA哀求标准),它是JCP(JAVA社团处置历程)的一部分。在JSR发布之前,他会供应示例代码,这不但用于查验计划,并且为容器供应商(Servlet引擎)和开辟职员供应示例。这个称做参考完成(RI)。ApacheTomcat就是JSR的RI,他是Apache构造的一部分,Apache构造的宪章是“供应基于JAVA平台的优良服务器办理计划,JAVA平台是以开放和互助体例开辟的。”
“这里感到很想EJB中的形式,SUN制订标准,IBM,BEA依据这些标准编写容器,而我们这些使用程序员也依据这些标准编写组件,因为容器与组件完成了一样的接口,大概说遵守一样的标准,就能够使在一个容器上编写的组件在其余完成标准的容器上很好的运转。而在这里呢?SUN公司供应了(大概是SUN的一些事情职员)供应了ServletAPI,它们是一些接口,基类和一些详细的请求标准,然后各个容器厂商依据给反完成接口,编写容器;而我们使用程序员也依据这些标准和容器厂商供应的基类来编写组件,就是Servlet大概说类。”
三,TOMCAT目次成绩
bin启动和中断Tomcat的剧本。
Common一切Tomcat服务器公用的类和jar文件。
Confg一样平常的设置信息,比方服务器界说和用户信息。
WebappsTomcat入手下手时主动装载的Web使用程序。
Logs由tomcat天生的运转光阴志文件。
Works由Web使用程序利用的一时事情目次。
注重:logs和works是第一次启动Tomcat时创立的。
四,ServletAPI
一>,接口称号:javax.servlet.Servlet;
完成于:javax.servlet.GenericServlet;
1,init();又Servlet容器挪用。
2,publicjavax.servlet.ServletConfiggetServletConfig();
失掉ServletConfig对象。
3,service();由servlet容器挪用,可让servlet对哀求举行呼应。
4,publicStringgetServletInfo();
前往有关Servlet的信息,如作者,版本,版权等。
5,destroy();让servlet无机会扫除所占用的一切资本(内存)。
二>,ServletConfig
接口称号:javax.servlet.ServletConfig;
由Servlet容器创建的Servlet设置对象,用于初始化时代向Servlet传送信息。
1,publicStringgetServletName();
2,publicServletContextgetServletContext();
前往对实行Servlet的ServletContext的援用。
3,pulicEnumerationgetInitParameterNames();
前往Servlet初始化参数称号列表。
4,publicStringgetInitparameter(Stringmystring);
前往详细参数称号的值。
比方在web.xml中我们界说了如许一端:
<servlet>
<servlet-name>myservlet</servlet-name>
<servlet-class>lsmx.MyServlet</servlet-class>
<init-param>
<param-name>myparamname</param-name>
<param-value>myparamvalue</param-value>
</init-param>
</servlet>
publicclassMyServletextendsHttpServlet{
//略
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)throwsServletException,IOException{
ServletConfigconfig=this.getServletConfig();
System.out.println(config.getServletName());
Enumerationenum=config.getInitParameterNames();
while(enum.hasMoreElements()){
Stringmyparametername=(String)enum.nextElement();
Stringmyparametervalue=config.getInitParameter(myparametername);
System.out.println(myparametername);
System.out.println(myparametervalue);
}
//略
}
则会在把持台打印出:
myservlet(<servlet-name>myservlet</servlet-name>),myparamname,myparamvalue
三>,GenericServlet
类称号:javax.servlet.GenericServlet;
超类:java.lang.Object;
间接子类:java.servlet.http.HttpSrvlet;
完成于:javax.servlet.Servlet;
javax.servlet.ServletConfig;
java.io.Serializable;
界说一般的,与协定有关的servlet。它具有Servlet与ServletConfig的一切办法。办法的利用与前往值与以上相似,这里不再论述。
但是对于JAVA技术类的学习,我觉得大课堂反而会影响自身独立思考的过程,因为上课的时候,老师讲课的速度很快为了不遗漏要点,通常会仔细的听, |
|