动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > JSP教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ JSP教程 ]的信息

本月文章推荐
.JSP迅速入门.
.Windows操作系统下JSP程序开发环.
.JSP教程(三)--JSP中”预定义变量.
.JDBCTM 指南:入门.
.Jsp&Servelet 学习笔记(3).
.指南:想成为一个JSP网站程序员吗.
.JSP教程(七)-pluginAction的使用.
.JAVA/JSP学习系列之三(Resin+Apa.
.Jsp基础知识总结.
.Servlet/JSP配置详解.
.Tomcat JSP经典配置实例.
.WIN2003上Apache2+IIS6+Tomcat5之.
.在Linux环境下安装JSP.
.五、读取HTTP请求头.
.Apache+Servlet+Jsp环境设置(上.
.JSP由浅入深(5)—— Scriptlets和.
.JAVA/JSP学习系列之八(改写MySQL.
.Windows2000下Apache2.0.46与Tom.
.JDBC 入门(三).
.JAVA/JSP学习系列之三(Resin+Apa.

Jsp&Servelet 学习笔记(1)

发表日期:2007-2-7 |


1.1    写出一个 servelet 程序
1.2    写出一个 Jsp程序
1.3    编译一个 Servlet 程序
1.4    打包一个Servlets 和 Jsps程序
1.5    构建一个部署描述器
 
 
1.1    写出一个 servelet 程序
 
问题
你想写一个servlet作为一个web应用程序
解决方案
写一个java class 从 javax.servlet.http.HttpServlet.继承。首先必须倒入一个类包servlet.jar。你将需要里面的类库来编译这个servlet程序。
讨论
一个servlet程序就是一个java类,用于响应客户端通过网络请求的动态内容。如果你熟悉(CGI)程序,那么java技术的servlets完全能取代CGI程序。通常称为一个web 组件,一个servlet 程序在一个运行环境执行将被提供一个servles容器比如 tomcat和bea weblogic.
注释:一个web容器能够被
Servlets被安装在一个web容器中作为一个web应用程序的一部分。这个应用程序将包含 WEB资源。像HTML页面,图片,多媒体片断,servlets, jsps,xml 配置文件,java运行类和类库当一个web应用程序部署到一个web容器里,这个容器将产生和装载这个java servlet类的实例到JVM去处理对于servlet的请求。
所有的servlet继承 javax.servlet.Servlet接口。开发Web应用的程序员特别的写了一个servlet
继承于javax.servlet.http.HttpServlet,一个抽象类实现了Servlet接口并且它是特别为处理HTTP请求设计的。
当一个web容器产生一个servlet实例时,它的基本顺序如下:
1、 servlet容器首先调用这个servlet的init()方法,它建会初始化一个资源给servlet使用。列如一个logger。这个init()方法在整个servlet的生存周期只会被调用一次。
2、 init()方法初始化了一个对象,对象继承了java.servlet.ServletConfig接口。这个对象使servlet能够初始化那些被声明在部署描述符的参数。ServletConfig也使servlet有权使用一个 javax.servlet.ServletContext 的对象,用这个对象servlet可以记录信息,分派请求到其他的web组件上并且能够使用在同一个应用上的其他web资源。
3、 servlet容器调用这个servlet的service()方法去响应servlet的一些请求。根据HttpServlets,service()自动的调用合适的HTTP方法去处理请求通过调用servlet的doGet()或者doPost()方法。几个例子,用户发送了个Post请求这时servlet通过doPost()方法的执行来响应这个请求。
4、 当调用两个主要的HttpServlet的doPost(),doGet()方法,这个servlet容器将产生javax..servlet.http.HttpServletRequest和HttpServletResponse 的对象并且把它们作为参数传到这些处理请求的方法中。
http://www.knowsky.com/ 
5、 管理一个servlet的生命周期,或者决定这个servlet实例对request请求的处理,在java虚拟机上的存在时间。当一个servlet容器开始移除一个servlet的时候将调用servlet的destroy()方法,在这个方法中能够释放所有的资源,比如一个数据库连接。
Example  A typical HttpServlet
 
 package com.mydev;  
 import java.io.IOException; import java.io.PrintWriter;  
 import java.util.Enumeration; import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 //必须继承HttpServlet接口
 public class FirstServlet extends HttpServlet ...{    
         public void doGet(HttpServletRequest request,     HttpServletResponse response) throws ServletException, java.io.IOException ...{       
      //set the MIME type of the response, "text/html" 
        response.setContentType("text/html");   
      //use a PrintWriter to send text data to the client who has requested the 
     //servlet 
       java.io.PrintWriter out = response.getWriter( );  
    //Begin assembling the HTML content    out.println("<html><head>");   
        out.println("<title>Help Page</title></head><body>"); 
        out.println("<h2>Please submit your information</h2>");   
    //make sure method="post" so that the servlet service method
    //calls doPost in the response to this form submit 
         out.println(        "<form method="post" action ="" + request.getContextPath( ) +            "/firstservlet" >"); 
         out.println("<table border="0"><tr><td valign="top">"); 
         out.println("Your first name: </td> <td valign="top">"); 
         out.println("<input type="text" name="firstname" size="20">"); 
         out.println("</td></tr><tr><td valign="top">"); 
         out.println("Your last name: </td> <td valign="top">"); 
         out.println("<input type="text" name="lastname" size="20">"); 
         out.println("</td></tr><tr><td valign="top">"); 
         out.println("Your email: </td> <td valign="top">"); 
         out.println("<input type="text" name="email" size="20">"); 
         out.println("</td></tr><tr><td valign="top">"); 
         out.println("<input type="submit" value="Submit Info"></td></tr>"); 
         out.println("</table></form>");    out.println("</body></html>");   
   }
//doGet
    public void doPost(HttpServletRequest request,     HttpServletResponse response) throws ServletException,    java.io.IOException   ...{    
    //display the parameter names and values 
        Enumeration paramNames = request.getParameterNames( );  
        String parName;
       //this will hold the name of the parameter   
         boolean emptyEnum = false; 
        if (! paramNames.hasMoreElements( ))  
        emptyEnum = true;      
           //set the MIME type of the response, "text/html" 
        response.setContentType("text/html");    
         //use a PrintWriter to send text data to the client 
        java.io.PrintWriter out = response.getWriter( );    
         //Begin assembling the HTML content 
        out.println("<html><head>"); 
        out.println("<title>Submitted Parameters</title></head><body>");   
          if (emptyEnum)  ...{  
                out.println(           "<h2>Sorry, the request does not contain any parameters</h2>");
          } else   ...{  
                        out.println(        "<h2>Here are the submitted parameter values</h2>");  
          }    
          while(paramNames.hasMoreElements( ))  ...{     
                  parName = (String) paramNames.nextElement( );    
                  out.println(            "<strong>" + parName + "</strong> : " +                request.getParameter(parName));   
                 out.println("<br />");  
          }//while     
         out.println("</body></html>");  
         }
 // doPost
 }
 
你有可能注意到doGet()和doPost()每个将抛出ServletException和IOException.那是因为response.getWriter()将会抛出IO异常。
 
http://blog.csdn.net/bruceleey/archive/2007/02/07/1503843.aspx
上一篇:Jsp基础知识总结 人气:62709
下一篇:Jsp&Servelet 学习笔记(2) 人气:20787
浏览全部Jsp&Servelet 学习笔记的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-8-28 LDV个人相册系统 v1.6.1
2008-8-28 讯时网站管理系统CMS v3.5
2008-8-28 迅易评选管理系统 v9.3
2008-8-28 OpenX(广告管理系统) v2.6.1 多国
2008-8-28 雨点单用户免费留言板 v2.0 Buil
2008-8-28 APJE私服发布系统 v2.1 ASP版
2008-8-28 酷维CMS企业网站程序 v1.0
2008-8-27 风讯dotNETCMS v1.0 SP3 SQL/ACC
2008-8-27 风讯dotNETCMS v1.0 SP3 源码
2008-8-23 Mini WinMount V0.4
2008-8-23 Vista优化大师3.11正式版
2008-8-23 Wine 1.13
2008-8-23 KlipFolio 5.0 Build 5899-80
2008-8-23 Windows Sysinternals Desktops
2008-8-23 OneTap Movies1.2破解版
2008-8-23 AnnotaterPDF阅读1.1.503 破解版
2008-8-23 SoundMeter分贝测量仪 v1.0汉化破
2008-8-23 iDrum音乐节拍1.0破解版
  发表评论
姓 名: 验证码:
内 容:
站长工具:网站收录查询 | Google PR查询 | ALEXA排名查询 | CSS在线编辑器 | 广告代码 | Html转换js | js/vbs加密 | md5加密 | 进制转换
实用工具:汉字翻译拼音 | 符号对照表 | 个税计算 | 经典小工具 | 汉字简繁转换 | 普通单位换算 | 公制单位换算 | 生辰老黄历 | 国内电话区号 国家代码与域名缩写 | 文字加密解密 | 健康查询 | 万年历 | 汉字横竖排版 | 手机号码查询 | 计算器 | ip搜索
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号
ホームページ制作 不動産検索システム 求人情報
防水工事·改修工事 フットサル大会 探偵