网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > JAVA > J2EE > Servlet/Jsp > Servlet 技术  

Servlet 技术

2003-05-14  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  什么是servlets
  ·明白Servlet API以及与CGI相比较
  ·知道在servlet的主要的类的使用。
  ·能够实现简单的servlets
  
  
  ·什么是servlet?
  ·一般地,服务器端Java应用程序扩展了Web服务器的功能。
  .在服务器上可以完整地运行
  .没有必要下载到浏览器
  .代替CGI脚本
  ·Servlets的优势在于:
  .方便性与灵活性
  .安全性
  .执行效率
  
  安全性优势
  ·在服务器的范围中调用
  ·能够约束servlet的调用
  ·在安全体系中能够成为单一(全局)信号的一部分
  
  
  性能优势
  ·Run in the same context as application server
  ·执行并且驻留在内存中
  ·有请求时提前被装入或装入
  ·通过HTTP请求维持对话
  ·减轻后置系统的负担
  ·多线程
  ·可伸缩于多处理器以及多机种系统(IBM WebSphere Performance Pack)
  
  一般的Servlet调用
  ·客户建立一个Web服务请求,命名为一个Servlet,就如同URL的一部分
  ·Web服务器向由一个servlet类的对象所定位的Servlet引擎发送一个请求 网管bitscn_com
  ·servlet引擎调用一个Servlet's服务方法:
  
  浏览器(客户)<====URL请求=====>Web服务器<===>servlet对象(应用程序服务器)
  
  
  Java Servlet 应用程序接口API
  ·JSDK包括了两个包:
  javax.servlet
  javax.servlet.http
  
  javax.servlet.Servlet
  | 实现
  javax.servlet.GenericServlet A
  |
  javax.servlet.http.HttpServlet A
  
  Servlet
  ·表现一项服务
  ·一般通过URL请求
  ·Servlets通过应用程序服务器被装入
  ·在服务的初始化阶段(如果是预装入)
  ·在客户端首次请求时
  ·在servlet重新装入时
  
  servlet的生命周期
  ·在装入时init()方法被调用
  ·仅这一次
  ·当每个客户发出请求时,service()方法被调用
  ·当它被卸载时,destroy()方法被调用
  
  init()
  |
  service()
  |
  destroy()
  
  
  HTTP Servlet
  ·一个HTTP-specific请求处理器
  ·加入两个HTTP-specific的方法
  ·doGet()--处理一个GET请求(URL)

网管下载dl.bitscn.com


  ·doPost()--处理一个POST请求(HTML)
  ·子类代替了这两个信息并且可能代替init()和destroy()
  ·doGet()和doPost()作这些工作并且被service()调用
  
  
  请求与响应
  ·service(),doGet()和doPost()方法都具体有两个参数:
  ·HttpServletRequest--提供请求数据(参数)HttpSession信息等访问。
  ·HttpServletResponse--提供允许servelt向发出请求的客户的响应的服务
  ·大多数servlet程序是用来读出请求并且写入响应
  
  
  HttpServletResponse
  ·向客户提供通讯的通道
  ·允许servlet返回内容并且/或者是错误
  ·设置内容头(类型,长度......)
  ·重定向服务器以返回一个指的URL
  
  应答协议
  ·getWriter()
  ·返回一个输出的PrintWriter
  ·setContentType(String type)
  ·为这个响应设置内容的类型
  ·类型是MIME型
  ·sendRedirect(String anURL)
  ·重定向浏览器到一个新的URL
  
  
  简单的servelt
  
  public class MyServlet extends HttpServlet {
  public void doGet( HttpServletRequest req, 网管u家u.bitsCN.com
  HttpServletResponse res)
  throws ServletException, IOException {
  // get stream to output HTML on!
  res. setContentType(" text/ html");
  PrintWriter out = res. getWriter();
  // send out a simple banner
  out. println("< HTML>< BODY>");
  out. println("< h1> Hello World!");
  out. println("");
  }
  }
  
  HttpServletRequest
  ·提供客户请求
  ·"Getters"请求的特征,比如:
  ·请求头部,内容类型,长度,方法....
  ·请求URL如同一个String
  ·Servlet"path"
  ·客户安全性类型
  ·访问请求参数(通过name)
  ·请求中,数据在参与对象中的共享范围
  
  
  请求协议
  ·getParmeterNames()
  ·在HTML页上,返回一个的枚举的参数
  ·getParmeterValues(String name)
  ·返回multi-valued参数的值
  ·getParameter(String name)
  ·返回一个指定的命名的参数的值
  ·getReader()
  ·返回BufferedReader到输入视图
  
  案例:
网管下载dl.bitscn.com

  

Please fill out this form with your name.
  Thanks!
  

  ACTION="/ servlet/ NameServlet">
  

Please enter your name:
  

First name:   SIZE=" 12" MAXLENGTH=" 20">
  Surname:   SIZE=" 15" MAXLENGTH=" 25">
  

Thank you!   TYPE=" RESET">
  
  
  
  读入一个post
  public void doPost( HttpServletRequest req,
  HttpServletResponse res)
  throws ServletException, IOException
  {
  …
  Enumeration enum = req. getParameterNames();
  while (enum. hasMoreElements()) {
  String name = (String) enum. nextElement();
  String value = req. getParameter( name);
  //… do something with each pair...
  }
  }
  
  调用servelet
  最普遍使用的调用HttpServlet是通过类名(classname)比如:
  http://www.ibm.com/servlets/com.ibm.a.Myservlet 网管联盟bitsCN@com
  
  ·"load/run by classname"的支持通过另一个称为"Invoker"的servlet所提供
  ·"Invoker"servlet试图找到servlet的类的路径
  ·考虑到会有无名的servlet,一个servlet用这种方法装入运行
  在WebSphere中的servlet
  ·另一方面,大多数的servlet引擎支持servlet通过名字注册
  ·被使用的参数可以初始化
  ·参数约束servlet的行为
  ·一个servlet可以提供不同的服务(在不同的"short names")
  ·参数在init()方法中使用
  ·允许servlet被预装入
  ·通过RequestDispatcher,允许简单定位
  ·允许servlet被保护
  
  摘要
  ·我们已经看到Servlets的优势大于CGI
  ·安全性,灵活性,效率
  ·我们已经介绍了Servlet的基本类和接口
  ·Servlets,GenericServlet,HttpServlet,HttpServletRequest,HttpServletResponse
  
  
  VisulalAge for Java 的复习
  ·首先,需要知道:
  ·IBM VisualAge for Java 基本概念
  ·IDE
  ·Scrapbook
  ·Debugger
  
  ·VisualAge for Java与WebSphere之间的关系
  ·VisualAge for Java:

网管联盟bitsCN_com

  ·Visual Builders
  ·Visual Application Builder
  ·Enterprise Access Builder
  ·Data,CICS,RMI,C++
  · Many others
  工具:
  ·IDE
  ·AppletViewer
  ·Smart Guides
  ·Debugger
  ·Browsers
  ·Scrapbook
  类库
  ·JDK1.1.7
  ·JDK1.2
  ·IBM Enterprise Connectivity
  编译器和虚拟机
  ·Incremental
  ·Java to byte code
  ·Byte code to machine code translation
  ·Multiple VMs
  部件:
  · JavaBeans
  ·EJB develpement environment
  ·WebSphere Test environment
  技术支持
  ·Integrated team environment
  ·Scaleable
  
  集成开发环境
  ·组织管理项目,类,方法
  ·组队开发--聚宝库
  ·导入及导出类文件到开发环境同Java文件一样
  ·优化编译
  ·视图:项目,类,界面,所有的问题
  ·搜索,智慧向导
  ·剪贴本,Debugger
  
  

TAGs   技术   servlet   请求   Servlet   调用   方法   服务器   参数      
 上一篇:servlet中实时地创建图象   下一篇:JSP/Servlet 中的汉字编码问题
相关文章列表
Servlet 技术 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.配置Eclpise+tomcat与实现JSP部署
2.JSP中include指令和include行为区别
3.在JSP中如何实现MD5加密
4.JSP程序流程图
5.ServletContext与ServletConfig分析
6.让FCKeditor在JSP和JSF项目中跑起来
7.JSP报表打印的一种简单解决方案
8.JSP常用语法
9.实现jsp页面得分页显示功能方案
10.Servlet 容器的工作原理 ( 四 )
最新推荐文章:
1.Java程序员必看--扩展鼠标右键菜单功能
2.JSP、Java实现选择框多级连动
3.JSP操作用以提高数据库访问效率
4.详细解析JSP中九个隐含对象
5.jsp/servlet取参数乱码问题分析
6.择JSF而不选Struts的十大理由
7.关于jsp的定时实现过程
8.一个实用的东西——JSP分页
9.缓冲技术提高JSP程序的性能和稳定性
10.jsp超级链接实现"目标另存为"功能
网管论坛交流:
·不疯魔不成活
·令你大开眼界的真正标准化机房,已整理重
·为赈灾,女孩舍身拍“裸照”
·Windows Server 2003服务器群集创建和配
·exchange2k3全套官方资料
·双儿一周岁了。。。特殊的礼物来啦。。
·存储备份技术版块守则
·无盘技术交流区守则
·DOS命令基础大全之命令详解<作者吐血
·Windows XP 操作系统默认设置需要注意的