- 1、本文档共47页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
09-Servlet编程教程
第9章
Servlet 编程
本课教学内容
认识Servlet
编写Servlet
Servlet生命周期
Servlet与JSP内置对象
设置欢迎页面
在Servlet中读取参数
使用过滤器
异常处理
认识 Servlet
Servlet 是一种运行在服务器端(一般指的是 Web 服务器)的 Java 应用程序
可 以生成动态的 Web 页面,它是属于客户与服务器响应的中间层。
可以说,JSP就是Servlet。两者可以实现同样的页面效果。
编写 JSP 和编写 Servlet 相比,前者成本低得多
认识 Servlet
学习Servlet的价值
Servlet 属于 JSP 的底层,学习它有助于了解底层细节;另外,Servlet 毕竟是一个Java 类,适合纯编程,如果是纯编程的话,比将 Java 代码混合在 HTML 中的 JSP 要好得多
编写 Servlet-建立 Servlet
步骤:
让这个类继承 javax.servlet.http.HttpServlet
重写 HttpServlet 的 doGet()方法
编写 Servlet-建立 Servlet
配置 Servlet
部署 Servlet
测试 Servlet
建议安装MyEclipes
下面以MyEclipes 10 为例
File-
New-
Web Project
菜单:Windows-Preferences-MyEclipes-Files and Editors-JSP
设置 Encoding为 ISO 10646/Unicode(UTF-8).
直接用javac生成Servlet的类文件
如果不希望使用庞大的MyEclipse,可在命令行下直接编译.java文件
将servlet-api.jar放到当前目录下
运行javac -encoding utf-8 -cp servlet-api.jar WelcomeServlet.java
因为Windows下的javac默认编码是GBK,所以需要指定.java文件的编码格式
部署
将WebRoot下的内容上传到服务器根目录
关键文件:
WEB-INF/web.xml
WEB-INF/classes/servlets/WelcomeServlet.class
Servlet 运行机制
初次运行,系统会实例化 Servlet
Servlet 采用的是多线程机制,每一次请求,系统就分配一个线程来运行 doGet 函数。但是这样也会带来安全问题,一般说来,不要在 Servlet 内定义成员变量,除非这些成员变量是所有的用户共用的
Servlet 生命周期
Servlet 内的方法有以下几个:
init()方法
在实例化的过程中,HttpServlet 中的 init()方法会被调用
Servlet 生命周期
Servlet 内的方法有以下几个:
doGet()/doPost()/service()方法
doGet()在以 get 方式请求 Servlet 时运行。常见的 get 请求方式有:链接、get 方式表单提交、直接访问 Servlet
doPost()在以 post 方式请求 Servlet 时运行
post和get方法提交过来的连接,都会在service中处理,然后,由service来交由相应的doPost或doGet方法。如果重写service方法,就不会再处理doPost或doGet
Servlet 生命周期
destroy()方法
destroy()方法在 Servlet 实例消亡时自动调用。在 Web 服务器运行 Servlet 实例时,会因为一些原因,Servlet 对象会消亡。如果在此 Servlet 消亡之前,还必须进行某些操作,比如释放数据库连接以节省资源等,这时就可以重写 destroy()方法
Servlet 生命周期
Servlet 的生命周期如图
Servlet 生命周期
当客户端向 Web 服务器提出第一次 Servlet 请求时,Web 服务器会实例化一个 Servlet,并且调用 init()方法;如果 Web 服务器中已经存在了一个 Servlet 实例,将直接使用此实例;然后调用 service()方法,service()方法将根据客户端的请求方式来决定调用对应的 doXXX()方法;当 Servlet 从 Web 服务器中消亡时,Web 服务器将会调用 Servlet的destroy()方法
Servlet 与 JSP 内置对象
获得内置对象的方法
获得 out 对象
JSP 中的 out 对象,一般可以使用 doXXX 方法中的 response 参数获得
默认情况下,out 对象是无法打印中文
解决方法:respo
您可能关注的文档
- 原料事业部新气烧窑一班班长班组管理综述最终修改版 2.ppt
- 08机组商业运行前-汇报材料-XX项目教程.doc
- 叉车使用单位安全管理制度(2016年8月版).doc
- 参股金融上市公司.doc
- 厦门推荐攻略国内旅游目的地培训文化.ppt
- 08章-薪酬福利教程.pptx
- 发明专利申请流程、材料及费用.doc
- 原料药工艺研发与控制.pptx
- 史上最全的英语字母组合发音规律.doc
- 双渠道供应链中消费者基于信息的搭便车研究.pptx
- 2024年石油炼化企业消防系统升级合同2篇.docx
- 统计学期末考试题库:2025年误差控制与调查数据质量评估试题.pdf
- 2025年资产评估师职业资格考试真题卷:资产评估师职业资格考试备考资料试题.pdf
- 2025年自然灾害安全防范培训考试试题库与答案解析.pdf
- 消防执业资格考试题库(消防监督检查要点):法律法规解析与应用试题.pdf
- 高压电工考试必备:2025年高压设备维护保养计划与保养成本控制试题.pdf
- 2025年专升本艺术概论模拟试卷:艺术市场与文化产业市场调查与分析试题.pdf
- 2025年专升本艺术概论考试模拟卷:艺术审美心理在艺术市场中的作用试题.pdf
- 2025年专升本艺术概论考试模拟卷:艺术流派对比分析高分技巧.pdf
- 2024年草原生态放牧保护合同.docx
文档评论(0)