设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
WEB前端
›
Html/Css
›
Servlet简介&开发介绍
返回列表
查看:
42
|
回复:
0
Servlet简介&开发介绍
[复制链接]
tianke66
tianke66
当前离线
积分
209
窥视卡
雷达卡
升级
3%
当前用户组为
举人
当前积分为
209
, 升到下一级还需要 291 点。
61
主题
61
主题
61
主题
举人
举人, 积分 209, 距离下一级还需 291 积分
举人, 积分 209, 距离下一级还需 291 积分
积分
209
发消息
楼主
|
发表于 2013-2-7 14:35:38
|
显示全部楼层
|
阅读模式
Servlet 是一种比JSP 更早的动态网页编程技术。在没有JSP 之前, Servlet 也是同时充当视图层、业务逻辑层及持久层角色。
Servlet 的开发效率非常低,特别是当使用Servlet 生成表现层页面时,页面中所有的HTML 标签,都需采用Servlet 的输出流来输出,因此极其烦琐。由于Servlet 是个标准的Java 类,因此必须由程序员开发,其修改难度大,美工人员根本无法参与Servlet 页面的开发。这一系列的问题,都阻碍了Servlet 作为表现层的使用。
自MVC 规范出现后, Servlet 的责任开始明确下来,仅仅作为控制器使用,不再需要生成页面标签,也不再作为视图层角色使用。
Servlet ,通常称为服务器端小程序,是运行在服务器端的程序,用于处理及响应客户端的请求。
Servlet 是个特殊的Java 类,这个Java 类必须继承HttpServlet 。每个Servlet 可以响应客户端的请求。Servlet 提供不同的方法用于响应客户端请求。
doGet: 用于响应客户端的get 请求。
doPost: 用于响应客户端的post 请求。
doPut: 用于响应客户端的put 请求。
doDelete: 用于响应客户端的delete 请求。
事实上,客户端的请求通常只有get 和post 两种; Servlet 为了响应这两种请求,必须重写doGet 和doPost 两个方法。如果Servlet 为了响应四个方法,则需要同时重写上面的四个方法。
大部分时候, Servlet 对于所有请求的响应都是完全一样的。此时,可以采用重写一个方法来代替上面的几个方法, Servlet 只需重写service 方法即可响应客户端的所有请求。
另外, HttpServlet 还包含两个方法。
init(ServletConfig config): 创建Servlet 实例时,调用的初始化方法。
destroyO: 销毁Servlet 实例时,自动调用的资源回收方法。
通常无须重写initO和destroyO两个方法,除非需要在初始化Servlet 时,完成某些资源初始化的方法,才考虑重写init 方法。如果需要在销毁Servlet 之前,先完成某些资源
的回收,比如关闭数据库连接等,才需要重写destroy 方法。
注意:如果重写了init(ServletConfig config)方法,则应在重写该方法的第一行调用
super.init(config) 。该方法将调用HttpServlet 的init 方法。
<div style="PADDING-RIGHT: 5.4pt; PADDING-LEFT: 5.4pt; BACKGROUND: #e6e6e6; PADDING-BOTTOM: 4px; WIDTH: 95%; PADDING-TOP: 4px;">
//
Servlet 必须继承HttpServlet 类
public
class
FirstServlet
extends
HttpServlet
...
{
//
客户端的响应方法,使用该方法可以响应客户端所有类型的请求
public
void
service(HttpServletRequest request,HttpServletResponse response)
throws
ServletException,java.Io,IOException
...
{
//
设置解码方式
request.setCharacterEncoding(
&quot;
GBK
&quot;
) ;
//
获取name 的请求参数值
String name
=
request.getParameter(
&quot;
name
&quot;
);
//
获取页面输出流
PrintStream out
=
new
PrintStream(response.getOutputStream());
//
输出html标签
out.println(
&quot;
标签
&quot;
);
//
输出请求参数的值: name
out .println (
&quot;
您的名字: n + name + 11 <hr>
&quot;
) ;
//
输出html标签
out.println(
&quot;
标签
&quot;
);
}
}
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
os
Java
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表