java web 技术之Servlet

     在我的博客前期我简单的介绍过JSP,编译jsp的时候都会生成一个对应的Servlet,今天我们就来了解一下Servlet.

.什么是Servlet

     Servlet 是用java编写的运行在Web服务器中的程序,因此它可以调用服务器端的类,也可以被服务器端的类调用。因为Servlet本身也就是一个类。

Jsp页面编写完毕后,在Web引擎中运行前也会被编辑器先转换为Servlet,在编写成字节码文件,因此JSP页面与Servlet页面是一一对应的。

.Servlet 工作原理

     Servlet Web服务器引擎负责编译执行,当客户端浏览器访问Servlet时,服务器将启动一个线程来响应,而并非CGI技术的进程。因此相对CGI方式占用的系统资源比较少,具有较高的运行效率。

web服务器中的Servlet 被请求访问时,此Servlet被加载到java虚拟机中,在Servlet 中要接受HTTP请求并作相应的处理。由于Servlet 是在服务器端运行的,对客户完全透明。

java web 技术之Servlet_第1张图片

三.Servlet 的生命周期

一个Servlet 的生命周期主要有以下三个过程

1Servlet 的初始化。

Servlet 实际是一个类,当第一次被客户端请求时,Web服务器引擎首先要生成这个Servlet类的对象,并加装这个对象,通过这个对象的init()方法来完成一些初始化的工作。

2)生成的Servlet类的对象调用Service()方法来响应请求。

3Servlet类的对象自第一次被生成后将常驻内存直到Web服务被关闭,当再次被请求时将直接从内存中取出对象来响应请求。当Web服务被关闭时,被调用Servlet类的对象的destroy()方法来消除此对象。

java web 技术之Servlet_第2张图片

.Servlet 的特性

1)有效性

Servlet 的初始化代码只被执行一次,其后Servlet所接收的请求都由它的Service()方法处理。

(2)健壮性

提供了java的所强大的功能。

(3)可移植性

Web服务器的移植性

(4)持久性

由防止频繁的磁盘读取,提供了系统的性能.

 

 

.实例

 
/**@author     : 唐欢
 * @group      : 提高班 九期
 * @Date       : 2014-3-5 下午7:27:25
 * @Comments   : 一个简单的Servlet
 * @Version   : 1.0.0
 */
 
package userReg;
import java.io.*;
import  javax.servlet.*;
importjavax.servlet.http.*;
public classFirstServlet  extends HttpServlet{
publicvoid init(ServletConfig  config )throwsServletException
{
super.init(config);
}
publicvoid service(HttpServletRequest request,HttpServletResponse response) throwsjava.io.IOException{
//设置时间
response.setContentType("text/html;charset=GB2312");
java.io.PrintWriterout=response .getWriter();
out.print("<html><body>");
out.print("这是一个简单的Servlet。");
out.print("客户端的IP地址是:"+request.getRemoteAddr()+"<br>");
out.print("</body></html>");
 
}
}
 

Web.xml配置
 

java web 技术之Servlet_第3张图片

结果

 

java web 技术之Servlet_第4张图片

 

.部署Servlet

     要部署Servlet,首先有编译Servlet。编译Servlet的方法与编译javaBean的方法一样(可参考javaBean应用)。在Tomcat8中编译Servlet要用到servlet-api.jar中相关的类.这个jar文件位于Tomcat6 的安装目录的"lib" 子文件夹下,需要把它加入系统的类的路径中.

 

     类编译后,把字节码文件.class复制到当前应用的"WEB-INF\class"目录下,即可使用了.复制了字节码文件.class.还需要在web.xml文件中进行配置.web.xml位于当前的WEB-INF目录中,如果没有就自己建立一个.web.xml<web-app></web-app>之间加入如下的语句:

  <servlet>

 <servlet-name>Servlet名称</servlet-name><!-- 配置Servlet的名称-->

 <servlet-class>Servlet</servlet-class><!-- 配置的是Servlet 指向的类-->

  </servlet>

  <servlet-mapping>

         <servlet-name>Servlet-名称</servlet-name>

         <url-pattern>Servlet名称访问路径</url-pattern> <!-- 配置的是Web方式访问Servlet时相对当前应用的路径 -->

  </servlet-mapping>

.总结

             ServletJSP的关系,犹如 .java.class的关系,它们只是以不同的形式表现出来了.


 

 

 


你可能感兴趣的:(java web 技术之Servlet)