JavaWeb开发中Setvlet的部署以及应用

来源:互联网 发布:弹琴软件 编辑:程序博客网 时间:2024/06/01 19:56

    JavaScript 和 Java  Applet  是运行在客户端浏览器中。Servlet是运行在服务器端的程序 ,他不像 JSP有有辅助工具辅助编码,所以说 Servlet的开发效率是比较低的

 但是他对程序员的水平的要求要比JSP程序员的要求高很多 ,因为Servlet中涉及到很多底层的东西,一种典型的开发模式就是  MVC开发模式 利用Setvlet进行流程的控制 。

实际上我们的 JSP页面其实是先编译成Servlet 然后再转换成对应的字节码文件  所以说 我们每个JSP页面和  Servlet都是一一对应的 。

Servelt由web服务器编译执行,当客户端访问Servlet的时候,服务器会自动分配一个线程来处理Servlet  此Servlet非 CGI的进程,相对CGI技术相对内存消耗较少  。

由于是再服务器端运行的Servlet也受到防火墙的保护所以所以安全性是比较好的 。

 

Servlet的生命周期分为三个过程  :

1、实际Servlet是一个类,当第一次客户请求的时候 ,那么 服务器首先生成一个Servlet的对象 ,然后 调用init()进行初始化  在整个服务器的生命周期的init只进行一次 。。

2、调用service() 方法来响应 客户端的请求

3、当下次客户进行请求的时候 直接从内存中取出servlet对象  直接使用  当服务器关闭的时候 那么将调用destroy方法来清除 此对象

 

所以说整个周期初始化工作只进行一次。。。

其实 使用Servlet和 JavaBean的部署类似,我们都是使用Java编写的一个类  

首先看下面的一个Servlet代码

 import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class MyServlet extends HttpServlet
{
 public void init(ServletConfig config)throws ServletException
 {
  super.init() ; 
 }
 public void service(HttpServletRequest req, HttpServletResponse resp) throws  ServletException,IOException
 {  
  resp.setContentType("text/html;charset=GB2312");
  PrintWriter out=resp.getWriter();
  out.print("接收到了一次请求!<br>");
  out.print ("请求IP是"+req.getRemoteAddr()+"<br>");
 }

}
编译成class文件

然后再Tomcat根目录下建立

WEB-INF文件夹

在其下建立 lib文件夹和

classes文件夹 并吧class文件放在其中

然后再web.xml中写下如下设置

<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2eehttp://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
    <servlet-name>firstServlet</servlet-name>
    <servlet-class>MyServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>firstServlet</servlet-name>
    <url-pattern>/firstServlet</url-pattern>
</servlet-mapping>
 <display-name>
 ch08</display-name>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
  <welcome-file>index.jsp</welcome-file>
  <welcome-file>default.html</welcome-file>
  <welcome-file>default.htm</welcome-file>
  <welcome-file>default.jsp</welcome-file>
 </welcome-file-list>
</web-app>

 

然后启动 Tomcat在 浏览器输入   http://local:8080/firstServlet       ....然后看结果 。。是不是跟我们平时在JSP页面提交的时候不一样呢 

 

以前我们在处理表单提交的时候一切操作 是再JSP页面下进行的  但是现在 我们是在底层完成  也就是Servlet中实现