- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章 系统流程控制 6.1 Servlet 6.1.1 什么是Servlet 从完成的功能上来说,Servlet与JSP完全一样。但是,从编写的角度来说是不一样的:JSP是在HTML或者XML文档中嵌入Java脚本或者JSP标签形成的,是文本文件;而Servlet是纯Java文件,是一个类。所有使用Servlet完成的功能,包括与用户的交互,都是通过Java代码完成的。 Servlet是用Java语言编写的运行在服务器端的小应用程序,能够接收Web客户端的请求,并能对Web客户端进行响应,通常是通过HTTP(HyperText Transfer Protocol)协议进行工作的。 可以认为Servlet是服务器端的Applet(实际上,Applet运行在客户端,而Servlet运行在服务器端)。 6.1.2 Servlet的主要方法 Servlet是一个Java类,通常会有三类方法,分别是: (1) ?init方法,用于初始化。 (2) ?destroy方法,用于释放资源。 (3) ?service方法(服务类方法),对用户的请求进行处理,并对用户进行响应。几乎所有处理功能都在这里完成。这类方法可以有多个,例如doGet和doPost等。doGet方法可以响应get方式的请求,doPost方法可以响应post方式的请求。通常,表单提交都使用post方式,超链接使用get方式。 6.1.3 编写简单的Servlet 1. 编写Servlet 根据要完成的功能来编写Servlet。功能确定之后,根据Servlet的框架来编写Servlet。这里主要关注编写Servlet的一般过程。 因为Servlet是Java类,所以它与一般的Java类的编写基本相同。具体步骤如下: (1) 创建一个包。假设包名是servlets,创建包的代码如下: package servlets; (2) 导入用到的包。需要导入的包有javax.servlet.*和javax.servlet.http.*,通常还需要导入的包是java.io.*。代码如下: import javax.servlet.*; import javax.servlet.http.*; import java.io.*; (3) 定义类的基本框架并继承HttpServlet。每个Servlet都必须实现接口Servlet,而这里要编写的Servlet主要是用于HTTP协议的,可以继承实现了Servlet接口的HttpServlet。代码如下: public class HelloServlet extends HttpServlet { } (4) 编写成员方法。Servlet通常不需要成员变量,成员方法包括init、service、destroy等。如果需要对Servlet进行初始化,则需要实现init方法。如果需要在卸载Servlet的时候执行一些功能,则需实现destory方法。一般情况下,根据需要完成的功能只需要实现服务类方法即可。这里只实现doGet方法。服务类方法有两个参数:第一个参数是HttpServletRequest的对象,该参数包含了用户的所有请求信息,要想获取用户的请求信息,必须使用该对象提供的方法;第二个参数是HttpServletResponse的对象,可以通过这个对象对用户进行响应,如果希望对用户进行响应或者设置响应相关的信息,需要使用该对象的方法。 该实例完成的功能是向用户输出一行文字,所以不需要获取用户的请求信息,只需要对用户进行响应即可。在对用户进行响应的时候,需要设定文档类型以及编码方式等,就像在JSP中每个文件都要设置page标签的contentType属性一样。之后要向用户输出一些内容,需要先获取输出流。响应页面的属性设置和输出流的获取都是与响应相关的,需要使用第二个参数来完成。 代码如下: public void doGet(HttpServletRequest request,HttpServletResponse) throws IOException,ServletException { response.setContentType(text/html;charset=gb2312); PrintWriter out = response.getWriter(); out.println(html); out.println(headtitleHello World!/title/head); out.println(body);
您可能关注的文档
- (FPGA数字信号处理设计流程System Generator入门与提高)第1章FPGA硬件结构.ppt
- (FPGA数字信号处理设计流程System Generator入门与提高)第2章数字信号处理的基本知识.ppt
- (FPGA数字信号处理设计流程System Generator入门与提高)第3章SystemGenerator概述.ppt
- (FPGA数字信号处理设计流程System Generator入门与提高)第5章图形化工程设计流程及实现.ppt
- (FPGA数字信号处理设计流程System Generator入门与提高)第6章应用实例.ppt
- (GPS基本原理及其Matlab仿真)第1章绪论.ppt
- (GPS基本原理及其Matlab仿真)第3章GPS的坐标、时间系统和卫星的运动.ppt
- (GPS基本原理及其Matlab仿真)第4章GPS卫星的导航定位信号.ppt
- (GPS基本原理及其Matlab仿真)第5章GPS卫星信号的捕获.ppt
- (GPS基本原理及其Matlab仿真)第6章GPS卫星信号的跟踪.ppt
- (Java Web程序设计基础教程)第7章动态显示信息.ppt
- (Java Web程序设计基础教程)第8章分页显示.ppt
- (Java Web程序设计基础教程)第9章信息添加.ppt
- (Java Web程序设计基础教程)第10章修改和删除.ppt
- (Java Web程序设计基础教程)第11章国际化.ppt
- (Java Web程序设计基础教程)第12章对系统异常进行处理.ppt
- (Java Web程序设计基础教程)第13章系统安全控制.ppt
- (Java Web程序设计基础教程)第14章综合实训:购物车管理和订单管理.ppt
- (Java Web程序设计基础教程)第15章程序调试.ppt
- (Linux网络操作系统应用教程)第1章Linux概述.ppt
最近下载
- 【复旦大学-高级病理生理学学习】_模式识别受体_20200425234131.pdf VIP
- 高中数学《函数的奇偶性》说课稿新人教A版必修1 .pdf VIP
- 膈肌膨升症麻醉病例讨论.ppt VIP
- 重难点01 圆的综合题型(圆性质的应用、圆与四边形结合的动态探究、情景与应用题型、隐圆问题)-2025年中考数学答题技巧与模板构建(全国通用)(解析版).docx VIP
- 旅游经济学复习资料(收纳).doc VIP
- GB12348-2008工业企业厂界环境噪声排放标准.doc VIP
- 药品不良事件原因分析及整改措施.docx VIP
- 小学道德与法治二年级上册《上课了,好好学》教案公开课教案教学设计课件资料.docx VIP
- 国标建筑专业图集 - 97J103-1铝合金玻璃幕墙.pdf VIP
- 法制知识广播稿.pdf VIP
原创力文档


文档评论(0)