- 浏览: 328154 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
libaogui777:
前辈,您好, 使用PDFbox 提取内容遇到一个问题,想请教您 ...
java进行pdf解析-----pdfbox -
xin_hany:
提示惊醒了一下,解决了一个让人惆怅的问题,
danga的MemcachedClient的几个缺陷 -
roroyangivan:
牛B啊。。。我觉得 这种 回答。。。阿里的的CTO 都 HOL ...
怎样才是一个好的架构? -
406657836:
今天知道了一个线程创建时会给stack分配1M内存?一个线程默 ...
jvm线程的stack -
linzx0212:
受教了……
danga的MemcachedClient的几个缺陷
【Servlet/Jsp/J2EE技术基础】
servlet基础知识
1。servlet简介
SUN喜欢用‘let’后缀名来表示小对象、小组件。applet其实意味着little application
(我初学applet时一直以为applet是apple的什么变种),而servlet表示little server
application,大概的意思就是服务器端运行的小程序。注意这里并没有强调“web”或者“http”,servlet本质上是一种通用的服务器
技术,不过它最大的用途就是实现强大的web服务。
servlet涉及的主要类库是javax.servlet和javax.servlet.http,后者是前者的扩展。我们写的servlet要部署在
某个servlet容器中才能运行,容器负责管理servlet的生命周期,并接收外界请求包装成Request/Response对象发送给对应的
servlet使用,实现请求响应。
servlet有一个规范来限定servlet容器要实现的约定。目前该规范的最新版本是2.5,公司常用的是servlet2.3规范。在写这篇简介时
实在是很难下笔,因为servlet的全部知识在规范里就列举得清清楚楚、一目了然。整个规范也不长,半天就能看完,所以我这里只强调一些重点,请大家务
必把servlet 2.3规范中文版细细看一遍,很多疑问就会迎刃而解。
附件
: servlet2.3规范中文版.rar
(2007-10-22 16:12, 285.47 K)
该附件被下载次数 27
2.servlet编程的总结。
1). servlet的最核心的接口是javax.servlet.Servlet
,其核心方法是void service(ServletRequest req, ServletResponse res)。每次web请求都会调用对应servlet的service方法。
2) . 新建一个servlet需要继承javax.servlet.http.HttpServlet类,
并覆盖其doGet(),doPost(),doDelete(),doPut()等方法的一个或多个。HttpServlet实现了Servlet接口,其service方法大概是这样实现的:
if (method.equals(METHOD_GET)) {
if (lastModified == -1) {
doGet(req, resp);
} else {
...
}
} else if (method.equals(METHOD_HEAD)) {
doHead(req, resp);
} else if (method.equals(METHOD_POST)) {
doPost(req, resp);
} else if (method.equals(METHOD_PUT)) {
doPut(req, resp);
} else if (method.equals(METHOD_DELETE)) {
doDelete(req, resp);
} else if (method.equals(METHOD_OPTIONS)) {
doOptions(req,resp);
} else if (method.equals(METHOD_TRACE)) {
doTrace(req,resp);
} else {
...
resp.sendError(HttpServletResponse.SC_NOT_IMPLEMENTED, errMsg);
}
而doPost()等方法默认的实现会返回错误信息。
3) .servlet写好后必须在web.xml文件中进行配置
,典型代码如下:
该配置描述了servlet的url映射规则、对应类、初始化参数、是否自动启动信息。其中:
url匹配、启动标志的细节可以参考servlet2.3规范。
4).http servlet类中的可以使用的主要对象
:
1,可以通过getServletConfig()获取ServletConfig对象,该对象包含servlet的所有信息
2,可以通过getServletContext()获取ServletContext对象,该对象包含servlet容器的所有信息(session、urlpath等)
3,获取客户端信息:HttpServletRequest对象是请求信息的包装类,其中包含有客户端的ip,主机名称等数据(对应http协议的头部信息),以及请求参数等。
4,HttpSession session = HttpServletRequest.getSession();session的作用就不用说了——可以把任意对象保存在session中。
5,HttpServletResponse对象,包装的是发送给客户端的响应。主要作用是重定向、转发、输出流、设置http head信息等。
5). web.xml配置
web.xml是j2ee工程的核心配置文件,也是j2ee的灵活性之源。这个文件可以囊括丰富的配置信息,并且由于DTD的限制,各个元素的书写顺序有着严格的规定(推荐使用具有DTD校验能力的工具来编辑web.xml),因此有必要对其仔细研究。
要学习web.xml,还是首推官方的DTD:http://java.sun.com/dtd/web-app_2_3.dtd,大家可以下载该文件,耐心阅读一下它的注释,里面包含了很多不为人知的秘诀。如果看不懂dtd,请先阅读这篇IBM的DTD 语法快速指南
;其次如果你没耐心看英文,那么把《servlet2.3规范中文版》翻到最后一节13.3,那里有中文注释和范例说明;如果还是没有耐心看完老长的文字
,那就用一个具有DTD校验和代码提示的xml编辑器(譬如XMLSpy)新建一个web.xml,然后利用它的代码提示功能来学习dtd规则,勉强也可以写了。
6).filter 过滤器
过滤器是servlet2.3规范新增的高级功能,实际上是装饰器模式加责任链模式在servlet中的实现,它可以对request、response
做统一处理。常见的用途是为字符集修改、页面缓存、数据压缩、session管理等通用性需求提供优雅的解决方案(这也是php比不上的)。参考资料:还
是看看那个规范就行了。
jsp基础知识
servlet架构先进,功能强大,但是也很难用——用java程序来零零碎碎地print出几百行html的难度可想而知。于是仿照asp,sun提供
了jsp来简化动态页面开发。JSP目前版本是2.0,不过weblogic8.1不支持,所以我们公司还是用的jsp1.2的语法。(无法使用简便易用
的jsp2.0是后来改用velocity的原因之一)
jsp的原理是在html中嵌入一些特殊的代码段(scriptlet——小脚本,脚本片段),在其中可以书写正统的java代码。jsp实际还是被自动翻译成一个servlet来执行的,因此要深入理解jsp可以从翻译出来的servlet下手。
这些scriptlet是用标签‘<% ’和 ‘ %>’来区分的。
出于不同的用途,<%%>有几种形式:
JSP的基本结构:scriptlet
JSP的高级语法
jsp还提供了更加高级的用法:
jstl1.0参考资料:http://www.ibm.com/developerworks/cn/java/j-jstl0211/
,文章末尾提供了不少有用的链接。
EL参考资料:http://www.oracle.com/technology ... jsp20/simpleel.html
书籍推荐:《JSP设计》
(第三版)是jsp书籍中当之无愧的王者。还好我们改用velocity了,否则我一定要买来珍藏。
J2EE技术基础
J2EE(Java 2 Enterprise Edition )是在java平台上构建企业应用的统称
,由一系列规范和标准
组成,其主要技术有Servlet ,JSP,EJB,JDBC,JMS,JNDI,JTA,JCA,JMX, JAAS,JAX-RPC,JAXR,SAAJ等等,这些规范和标准一般由第三方实现。这一套庞杂的体系,一般开发中只会用到其中的若干技术。
它的版本在不断发展中,公司目前使用的J2EE1.4。
我们常用的技术包括:
主要对象:Connection , DriverManager,Statement , ResultSet , PreparedStatement , CallableStatement .
J2EE API
附件
: J2EE_API.chm
(2007-10-29 15:52, 1.78 M)
该附件被下载次数 18
SUN公司的J2EE教程(中文版)
,这本书是j2ee1.3权威文献,内容有些陈旧了,作为参考书籍使用,有助于了解J2EE的全貌。
在线阅读:http://www.leftworld.net/online/j2ee/index.html
。
离线版下载:
附件
: J2EE Tutorial中文版.chm
(2007-10-29 16:04, 1.17 M)
该附件被下载次数 18
PS:J2EE 虽然是我们的主要技术路线,但为了方便开发,目前公司的实际情况是更多地使用着其扩展技术。譬如使用MVC框架(Spring MVC)代替了Servlet,用Velocity代替JSP作为视图层,用Swim代替JDBC的简单应用;此外的J2EE技术如EJB、JMS等尚无 应用。因此J2EE降低成为了底层平台,一般性开发可能不再需要了解得太广太深,大家只需要大致明白其运行原理,能够开发、部署、调试即可。
【2007-10 bbs】
发表评论
-
Ruby API代码技巧
2012-05-23 21:53 1137http://www.slideshare.net/ihowe ... -
怎样才是一个好的架构?
2012-05-18 17:37 3800关于软件设计的抽象思想 曾经被阿里的某CTO问过一个问题 ... -
nginx的编译选项
2012-04-25 17:30 1599下载nginx源码包,编译命令之一: ./co ... -
10 Core Architecture Pattern Variations for Achieving Scalability
2011-11-20 22:00 1107【转载】:http://highscalability.com ... -
wowza doc of multi-bitrate streaming
2011-11-06 11:49 2411http://www.wowza.com/forums/con ... -
今天回首
2011-09-01 22:13 1315突然发觉很久不上javaeye了,仿佛生活中遗忘了这一块。 每 ... -
你的邮件”被垃圾“了吗?
2010-11-30 20:37 1150最近在注册系统中使用邮件激活,用公司的邮箱服务器发送帐号激活邮 ... -
mongodb的map/reduce实属鸡肋
2010-11-24 22:47 1551曾经被mongodb的特性所吸引,没想到map/reduce却 ... -
[老博迁移2005-11-09]TeracMiracle反编译成功
2010-08-12 22:13 906TeracMiracle反编译成功 TM:中国人写 ... -
[老博迁移2005-11-09] 越是官大,越是懒
2010-08-12 22:11 1208越是官大,越是懒 小小的公司里就有官僚了,真 ... -
danga的MemcachedClient的几个缺陷
2010-08-11 16:19 17443最近实际用起来我发现,java版danga的memcached ... -
今天参加RubyConfChina的活动,见识了
2010-06-27 00:27 1240这次是RubyConfChina的 ... -
该死的CXF
2010-04-15 21:20 1193为了连https web services,初步选择以前用得还 ... -
jsp太大编译不了,原来是64k的方法限制
2010-02-11 12:04 2896昨天遇到一个诡异的问题,吓出一身冷汗。 20几个300k ... -
javascript技巧:(function(){})()
2010-02-11 12:03 1232javascript技巧:(function(){})() ... -
lucene搜索引擎简单应用
2010-02-11 12:02 1287还用lucene架了个搜索引擎,对pdf进行全文搜索(联合 ... -
java进行pdf解析-----pdfbox
2010-02-11 11:58 10612对pdf解析有不少成熟技术,经过选型,我最后选定用pdfb ... -
用flash动态上传文件
2010-02-11 11:52 1207用flash写了一个动态的文件上传功能,当然也用了jque ... -
不当家不知道柴米贵,不开发不知道重启费
2010-02-11 11:21 1180话说我开始逐渐脱离群众,开发得越来越少。还好最近做了 ... -
【转】Getting real
2010-02-11 11:18 932【转】Getting real 刚才偶然看到的, ...
相关推荐
《Head First Servlet/JSP 2nd Edition》是一本专为希望深入学习Servlet技术和Java Server Pages (JSP)的读者设计的专业教程。本书通过独特的教学方法和风格,帮助读者在轻松愉快的学习过程中掌握复杂的技术概念。 ...
**JSP(JavaServer Pages)和Servlet是Java Web...总之,JSP和Servlet是构建Java Web应用的基础,结合J2EE的规范和组件,可以创建出功能强大、可扩展的企业级解决方案。掌握这些技术,将使你在Web开发领域更具竞争力。
**J2EE技术** J2EE(现在被称为Java EE,Java Platform, Enterprise Edition)是一个完整的、开放的、可移植的服务器端应用平台,用于构建多层架构的企业级应用。J2EE的主要组件和特性包括: 1. **Servlet**:作为...
《HTML/CSS/JavaScript/J2EE技术手册》是一份针对经验丰富的开发者的重要参考资料,它包含了Web开发中的核心语言和技术的详细信息。这份手册以其实用性为主导,为开发者提供日常开发中的快捷解决方案,而不是针对...
标题中的“servlet + jsp + j2ee API”涵盖了三个关键的Java Web开发技术:Servlet、JSP(JavaServer Pages)以及J2EE(Java 2 Platform, Enterprise Edition)API。这些技术是构建企业级Web应用程序的基础。 1. **...
文件"Addison.Wesley.Servlets.and.JavaServer.Pages.The.J2EE.Technology.Web.Tier.eBook-LiB.chm"很可能是一本关于Servlets和JSP的电子书,可能涵盖了这两者的基础知识、高级特性和最佳实践。它可能会讲解如何配置...
在Web开发领域,Servlet、JSP 和 Tomcat 是三个重要的技术组成部分。它们各自有着不同的功能定位,共同支撑起了Java Web应用程序的基础架构。本文将详细介绍这些技术规范与版本之间的对应关系,并探讨它们如何协同...
综上所述,韩顺平老师的这套J2EE视频实战教程涵盖了JSP、Servlet、数据库连接等多个方面的内容,非常适合希望深入学习Java Web开发的初学者和技术人员。通过这些系统的课程学习,学员不仅可以掌握理论知识,还能通过...
尽管已经过时,但它仍然可以作为学习Servlet和JSP的基础平台。 以上内容概述了Servlet和JSP的基本概念、优势以及相关的软件资源和技术文档。对于初学者来说,这是一个很好的起点,可以深入了解这两种技术并开始构建...
总结来说,"J2EE网上订餐系统(JSP+Servlet+mysql)"是一个基础的Java Web项目,它以核心的J2EE组件为基础,展示了如何构建一个实际的在线服务。对于初学者,这是一个极好的起点,可以从中学习到Web开发的基本流程和...
《Servlet与JSP核心编程(第二版)》是一本针对Java Web开发的权威指南,主要聚焦于Servlet和JSP这两个核心技术。Servlet是Java平台上的服务器端组件,用于处理HTTP请求,而JSP(JavaServer Pages)则是一种动态网页...
总结来说,"J2EE做的通讯录"项目是一个涵盖JavaBean、Servlet和JSP技术的实例,它可以帮助学习者巩固JavaWeb开发的基础,了解如何在实际应用中运用这些技术。通过研究和实践这个项目,开发者能够更好地理解企业级Web...
"包括jsp j2ee jquare j2se 帮助文档"进一步明确了文档类型,其中jquare可能是指JQuery,一个广泛使用的JavaScript库,而J2SE是Java 2 Standard Edition,是Java平台的基础,用于开发和部署桌面应用。"绝对信得过,...
在本文中,我们将深入探讨J2EE 1.7中的Servlet技术,特别是在Servlet与JSP交互方面的知识。Servlet是Java平台上的一个核心组件,用于处理HTTP请求并生成动态响应。在"Servlet01:jsp结束,servlet的配置和生命周期...
一、J2EE技术基础 J2EE(Java 2 Platform, Enterprise Edition)是Java平台的企业版,用于构建和部署分布式企业级应用程序。它包括一组服务、APIs和协议,提供了处理多层架构中复杂性的框架。J2EE的核心组件包括:...
本篇将重点介绍标题和描述中提及的几个核心组件:servlet.jar、jspapi.jar、servlet-api.jar以及jsp-api.jar,它们是JSP(JavaServer Pages)和Servlet技术的核心库。 1. **Servlet**:Servlet是Java提供的一种...
CHM格式的"JSP技术和JSP环境配置及语法"文件提供了详细的教程,涵盖了JSP的基础知识、环境配置步骤以及实战技巧。通过阅读和实践,开发者可以深入理解JSP的工作原理,掌握企业级Web应用开发。 总结来说,J2EE/JSP...
6. **十四讲概览**:这十四讲内容可能包括了以上技术的逐步讲解,从基础概念到实际应用,涵盖J2EE架构、部署描述符、MVC模式在Web开发中的应用、安全性和性能优化等多个方面。 通过这个课件,初学者不仅可以理解...
**第一部分:JSP技术与J2EE技术** 在J2EE(Java 2 Platform, Enterprise Edition)框架中,JSP(JavaServer Pages)技术是用于构建动态网页的关键组件。本部分主要涵盖以下知识点: 1. **JavaBeans组件技术**: -...
理解Servlet生命周期和JSP的转换过程是基础。 2. **EJB**:EJB是Java中的企业级组件模型,分为Session Beans(负责业务逻辑)、Message-Driven Beans(处理消息)和Entity Beans(持久化数据)。EJB提供了事务管理...