上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 50 下一页
摘要: 假设有一个网页,它是显示现场比赛成绩或股票市场状况或货币兑换率。对于所有这些类型的页面,您需要定期刷新网页。 Java Servlet 提供了一个机制,使得网页会在给定的时间间隔自动刷新。 刷新网页的最简单的方式是使用响应对象的方法 setIntHeader()。以下是这种方法的定义: public 阅读全文
posted @ 2018-08-26 18:38 borter 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 网页点击计数器 很多时候,您可能有兴趣知道网站的某个特定页面上的总点击量。使用 Servlet 来计算这些点击量是非常简单的,因为一个 Servlet 的生命周期是由它运行所在的容器控制的。 以下是实现一个简单的基于 Servlet 生命周期的网页点击计数器需要采取的步骤: 在 init() 方法中 阅读全文
posted @ 2018-08-26 18:37 borter 阅读(123) 评论(0) 推荐(0) 编辑
摘要: 使用 Servlet 的最重要的优势之一是,可以使用核心 Java 中的大多数可用的方法。本章将讲解 Java 提供的 java.util 包中的 Date 类,这个类封装了当前的日期和时间。 Date 类支持两个构造函数。第一个构造函数初始化当前日期和时间的对象。 下面的构造函数接受一个参数,该参 阅读全文
posted @ 2018-08-26 18:36 borter 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 当文档移动到新的位置,我们需要向客户端发送这个新位置时,我们需要用到网页重定向。当然,也可能是为了负载均衡,或者只是为了简单的随机,这些情况都有可能用到网页重定向。 重定向请求到另一个网页的最简单的方式是使用 response 对象的 sendRedirect() 方法。下面是该方法的定义: 该方法 阅读全文
posted @ 2018-08-26 18:36 borter 阅读(119) 评论(0) 推荐(0) 编辑
摘要: Servlet 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器。上传的文件可以是文本文件或图像文件或任何文档。 本文使用到的文件有: upload.jsp : 文件上传表单。 message.jsp : 上传成功后跳转页面。 UploadServlet.java : 上传处理 阅读全文
posted @ 2018-08-26 18:35 borter 阅读(232) 评论(0) 推荐(0) 编辑
摘要: Servlet Cookie 处理 Cookie 是存储在客户端计算机上的文本文件,并保留了各种跟踪信息。Java Servlet 显然支持 HTTP Cookie。 识别返回用户包括三个步骤: 服务器脚本向浏览器发送一组 Cookie。例如:姓名、年龄或识别号码等。 浏览器将这些信息存储在本地计算 阅读全文
posted @ 2018-08-26 18:32 borter 阅读(221) 评论(0) 推荐(0) 编辑
摘要: HTTP 是一种"无状态"协议,这意味着每次客户端检索网页时,客户端打开一个单独的连接到 Web 服务器,服务器会自动不保留之前客户端请求的任何记录。 但是仍然有以下三种方式来维持 Web 客户端和 Web 服务器之间的 session 会话: HTTP 是一种"无状态"协议,这意味着每次客户端检索 阅读全文
posted @ 2018-08-26 18:32 borter 阅读(161) 评论(0) 推荐(0) 编辑
摘要: 当一个 Servlet 抛出一个异常时,Web 容器在使用了 exception-type 元素的 web.xml 中搜索与抛出异常类型相匹配的配置。 您必须在 web.xml 中使用 error-page 元素来指定对特定异常 或 HTTP 状态码 作出相应的 Servlet 调用。 当一个 Se 阅读全文
posted @ 2018-08-26 18:30 borter 阅读(167) 评论(0) 推荐(0) 编辑
摘要: Servlet 过滤器可以动态地拦截请求和响应,以变换或使用包含在请求或响应中的信息。 可以将一个或多个 Servlet 过滤器附加到一个 Servlet 或一组 Servlet。Servlet 过滤器也可以附加到 JavaServer Pages (JSP) 文件和 HTML 页面。调用 Serv 阅读全文
posted @ 2018-08-26 18:29 borter 阅读(117) 评论(0) 推荐(0) 编辑
摘要: HTTP 请求和 HTTP 响应消息的格式是类似的,结构如下: 初始状态行 + 回车换行符(回车+换行) 零个或多个标题行+回车换行符 一个空白行,即回车换行符 一个可选的消息主体,比如文件、查询数据或查询输出 例如,服务器的响应头如下所示: 状态行包括 HTTP 版本(在本例中为 HTTP/1.1 阅读全文
posted @ 2018-08-26 18:28 borter 阅读(195) 评论(0) 推荐(0) 编辑
摘要: 状态行包括 HTTP 版本(在本例中为 HTTP/1.1)、一个状态码(在本例中为 200)和一个对应于状态码的短消息(在本例中为 OK)。 下表总结了从 Web 服务器端返回到浏览器的最有用的 HTTP 1.1 响应报头,您会在 Web 编程中频繁地使用它们: 设置 HTTP 响应报头的方法 下面 阅读全文
posted @ 2018-08-26 18:27 borter 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 当浏览器请求网页时,它会向 Web 服务器发送特定信息,这些信息不能被直接读取,因为这些信息是作为 HTTP 请求的头的一部分进行传输的。您可以查看 HTTP 协议 了解更多相关信息。 以下是来自于浏览器端的重要头信息,您可以在 Web 编程中频繁使用: 读取 HTTP 头的方法 下面的方法可用在 阅读全文
posted @ 2018-08-26 18:25 borter 阅读(140) 评论(0) 推荐(0) 编辑
摘要: 很多情况下,需要传递一些信息,从浏览器到 Web 服务器,最终到后台程序。浏览器使用两种方法可将这些信息传递到 Web 服务器,分别为 GET 方法和 POST 方法。 GET 方法 GET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔,如下所示: GET 方法是默认的 阅读全文
posted @ 2018-08-26 18:24 borter 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 默认情况下,Servlet 应用程序位于路径 <Tomcat-installation-directory>/webapps/ROOT 下,且类文件放在 <Tomcat-installation-directory>/webapps/ROOT/WEB-INF/classes 中。 如果您有一个完全合 阅读全文
posted @ 2018-08-26 18:22 borter 阅读(132) 评论(0) 推荐(0) 编辑
摘要: Servlet 生命周期可被定义为从创建直到毁灭的整个过程。以下是 Servlet 遵循的过程: Servlet 通过调用 init () 方法进行初始化。 Servlet 调用 service() 方法来处理客户端的请求。 Servlet 通过调用 destroy() 方法终止(结束)。 最后,S 阅读全文
posted @ 2018-08-26 18:21 borter 阅读(133) 评论(0) 推荐(0) 编辑
摘要: 开发环境是您可以开发、测试、运行 Servlet 的地方。 就像任何其他的 Java 程序,您需要通过使用 Java 编译器 javac 编译 Servlet,在编译 Servlet 应用程序后,将它部署在配置的环境中以便测试和运行。 阅读全文
posted @ 2018-08-26 18:20 borter 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 通用网关接口,简称CGI,是一种根据请求信息动态产生回应内容的技术。通过CGI,Web 服务器可以将根据请求不同启动不同的外部程序,并将请求内容转发给该程序,在程序执行结束后,将执行结果作为回应返回给客户端。也就是说,对于每个请求,都要产生一个新的进程进行处理。因为每个进程都会占有很多服务器的资源和 阅读全文
posted @ 2018-08-26 18:19 borter 阅读(846) 评论(0) 推荐(0) 编辑
摘要: 今天,越来越多的开发人员都想编写分布式的,事务型的企业及应用程序,以及平衡速度、安全及服务器方可靠度的技术。如果你已经在这个领域工作,你应该知道在当今的快速变换及需求的电子商务及信息技术的世界里,企业应用程序需要设计、编译、产生低价位的、高速的、占用少量资源的程序。 为了缩减开发成本,快速跟踪企业应 阅读全文
posted @ 2018-08-24 20:26 borter 阅读(89) 评论(0) 推荐(0) 编辑
摘要: Mary的加盟 1995年早些时候,我们招收了一个合同编制员——Mary Campione。她和我在后来的工作互助中相识。Mary的工作是帮助程序员使用平台特色如线程。我们很快意识到我们的工作如此相似,我们很快就在一起为Java平台程序员指南工作。 1995年5月18日,Mary Campione和 阅读全文
posted @ 2018-08-24 20:22 borter 阅读(84) 评论(0) 推荐(0) 编辑
摘要: 面向Internet的编程 1994年秋天我返回工作时,这个公司的景象已经完全改变。他们决定Oak语言——跨平台的、安全的、易传输的代码——时理想的面向Internet的语言。同时他们在制作名为WebRunner的浏览器,它具有在Internet上传输Oak代码——他们称之为Applet——的能力。 阅读全文
posted @ 2018-08-24 20:21 borter 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 1993年8月,我加入了太阳公司——被称之为第一人的小公司。我之所以知道这个公司是因为我的一些同事跳槽到了太阳公司。我加入太阳公司的主要原因是因为我喜欢他卡通似的用户界面。太阳公司正在发展,其界面有一个昵称——Duke。 “第一人”的首次样品演示名曰:七星(Star 7),它是一个能让房主通过触摸屏 阅读全文
posted @ 2018-08-24 20:20 borter 阅读(129) 评论(0) 推荐(0) 编辑
摘要: Hibernate缓存通过将对象集中在缓存中来提高应用程序的性能。Hibernate中主要有两种类型的缓存:一级缓存和二级缓存。 一级缓存 Session对象保存第一级缓存数据,第一级缓存默认情况下启用。 第一级缓存数据将不可用于整个应用程序。这是因为应用程序可以使用很多会话(Session)对象。 阅读全文
posted @ 2018-08-23 10:50 borter 阅读(104) 评论(0) 推荐(0) 编辑
摘要: Hibernate标准(Criteria)查询语言(HCQL)用于根据具体条件获取记录。Criteria接口提供了应用标准的方法,例如检索薪水大于50000的表的所有记录。 HCQL的优势 HCQL提供了添加条件的方法,因此,java程序员可以很容易添加条件。 java程序员能够在查询中根据需要添加 阅读全文
posted @ 2018-08-23 10:47 borter 阅读(184) 评论(0) 推荐(1) 编辑
摘要: hibernate命名的查询是通过一些有意义的名称来使用查询的方式。就类似于使用别名一样。 Hibernate框架提供命名查询的概念,以便应用程序员不需要将查询分散到所有的java代码,进一步提高代码的可维护性。 在hibernate中定义命名查询有两种方法: 通过注释 通过映射文件 Hiberna 阅读全文
posted @ 2018-08-23 10:47 borter 阅读(336) 评论(0) 推荐(0) 编辑
摘要: Hibernate查询语言(HQL)与SQL(结构化查询语言)相同,但不依赖于数据库表。 我们在HQL中使用类名,而不是表名。 所以是数据库独立的查询语言。 HQL的优点 HQL有很多优点。 它们如下: 数据库独立 支持多态查询 易于Java程序员学习 查询接口 它是一个面向对象的Hibernate 阅读全文
posted @ 2018-08-23 10:46 borter 阅读(177) 评论(0) 推荐(0) 编辑
摘要: 事务只是一个工作单位(单元)。 在这种情况下,如果一个步骤失败,则整个事务失败(称为原子性)。 ACID属性(原子性,一致性,隔离性和持久性)可以描述事务。 Hibernate中的事务接口 在hibernate框架中,我们有Transaction接口来定义工作单元。 它维护了事务实现(JTA,JDB 阅读全文
posted @ 2018-08-23 10:45 borter 阅读(91) 评论(0) 推荐(0) 编辑
摘要: 在hibernate中我们可以通过两种方式来执行一对一映射: 通过many-to-one元素标签 通过one-to-one元素标签 在这里,我们将通过多对一的many-to-one元素进行一对一的映射。 在这种情况下,在主表中创建外键。 在这个例子中,一个员工只能有一个地址,一个地址只能属于一个员工 阅读全文
posted @ 2018-08-23 10:44 borter 阅读(1439) 评论(0) 推荐(0) 编辑
摘要: 正如我们在前面的例子中讨论过的,在hibernate中执行一对一映射有两种方法: 通过many-to-one元素 通过one-to-one元素 这里,我们将通过one-to-one元素进行一对一的映射。 在这种情况下,不会在主表中创建外键。 在这个例子中,一个员工只能有一个地址,一个地址只能属于一个 阅读全文
posted @ 2018-08-23 10:44 borter 阅读(2667) 评论(0) 推荐(0) 编辑
摘要: 在组件映射中,我们将依赖对象映射作为组件。 组件是存储为值而不是实体引用的对象。 如果从属对象没有主键,则要使用此方法。 它用于组合(HAS-A关系)的情况下,这就是为什么把它称为组件。 下面来看看看有HAS-A关系的类。 Hibernate组件映射示例 创建一个Java项目:componentma 阅读全文
posted @ 2018-08-23 10:43 borter 阅读(148) 评论(0) 推荐(0) 编辑
摘要: 我们可以使用set,bag,map等来映射多对多关系。在这里,我们将使用map来进行多对多映射。 在这种情况下,将创建三个表。 多对多映射示例 我们需要创建以下文件来映射map元素。首先创建一个项目:ternaryobject,它们分别如下 - 项目:ternaryobject的目录结构如下图所示 阅读全文
posted @ 2018-08-23 10:42 borter 阅读(996) 评论(0) 推荐(0) 编辑
摘要: Hibernate允许我们将Map元素与RDBMS进行映射。 我们知道,List和Map是基于索引的集合。 在map的情况下,索引列作为键,元素列用作值。 使用xml文件在集合映射中映射Map的示例 现在,我们创建一个Java工程:ternarystring,项目的完整目录结构如下图所示 - 您需要 阅读全文
posted @ 2018-08-23 10:41 borter 阅读(569) 评论(0) 推荐(0) 编辑
摘要: 如果持久类具有Set对象,可以在映射文件中使用set元素映射Set集合。 set元素不需要索引元素。 List和Set之间的区别是: Set只存储唯一的值。 我们来看看我们如何在映射文件中实现集合: XML XML 集合映射中映射集合的示例 在这个例子中,我们将看到set的集合映射的完整示例。 这是 阅读全文
posted @ 2018-08-23 10:40 borter 阅读(410) 评论(0) 推荐(0) 编辑
摘要: 如果持久化类设置了包含实体引用的对象,则需要使用一对多关联来映射集合(Set)元素。 我们可以通过任意一个Set集合来映射这个列表对象。 下面来看看看设置对象的持久化类。 在这种情况下,一个问题可以有很多答案,每个答案可能有自己的信息,这就是为什么使用set标签元素来表示一个答案(Answer类)集 阅读全文
posted @ 2018-08-23 10:40 borter 阅读(837) 评论(0) 推荐(0) 编辑
摘要: 如果持久化类具有包含实体引用的列表对象,则需要使用一对多关联来映射列表元素。 我们可以通过列表(list)或包(bag)来映射这个列表对象。 请注意,bag不是基于索引的,而list是基于索引的。 在这里,我们使用论坛的场景:论坛中一个问题有多个答案。 下面来看看看具有列表对象的持久化类。 在这种情 阅读全文
posted @ 2018-08-23 10:39 borter 阅读(394) 评论(0) 推荐(0) 编辑
摘要: 如果持久类有List对象,我们可以通过列表或者bag元素在映射文件中映射。 这个包(bag)就像List一样,但它不需要索引元素。 在这里,我们使用论坛的场景: 论坛中一个问题有多个答案。 我们来看看如何在映射文件中实现包(bag): Java Java 在集合映射中映射包的示例 在这个例子中,我们 阅读全文
posted @ 2018-08-23 10:38 borter 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 如果持久化类具有包含实体引用的列表(List)对象,则需要使用一对多关联来映射列表元素。 在这里,我们使用论坛应用场景,在论坛中一个问题有多个答案。 在这种情况下,一个问题可以有多个答案,每个答案可能有自己的信息,这就是为什么在持久化类中使用列表(包含Answer类的引用)来表示一系列答案。 下面来 阅读全文
posted @ 2018-08-23 10:36 borter 阅读(1496) 评论(0) 推荐(0) 编辑
摘要: 如果持久化类具有List对象,我们可以通过映射文件中的类的<list>元素或注释来映射List。 在这里,我们正在使用论坛的场景,其中一个问题有多个答案。 在这里,我们使用论坛的场景,其中一个问题有多个答案。我们来看看如何在映射文件中实现列表(List): XML XML 注: List 和 Map 阅读全文
posted @ 2018-08-23 10:35 borter 阅读(1853) 评论(0) 推荐(0) 编辑
摘要: 可以在Hibernate中映射持久类的集合元素。 您需要从以下类型之一声明持久类中的集合类型: java.util.List java.util.Set java.util.SortedSet java.util.Map java.util.SortedMap java.util.Collectio 阅读全文
posted @ 2018-08-23 10:35 borter 阅读(108) 评论(0) 推荐(0) 编辑
摘要: 在上一文章中,我们使用xml文件将继承层次映射到一个表。 在这里,我们将使用注释来执行同样的任务。需要使用@Inheritance(strategy = InheritanceType.SINGLE_TABLE),@DiscriminatorColumn和@DiscriminatorValue注释, 阅读全文
posted @ 2018-08-23 10:34 borter 阅读(712) 评论(0) 推荐(0) 编辑
摘要: 在每个子类一张表的情况下,表是根据持久类创建的,但是它们使用主键和外键来重新定义。 所以关系中不会有重复的列。 我们需要在子类中的使用@PrimaryKeyJoinColumn注释和在父类指定@Inheritance(strategy = InheritanceType.JOINED)。 下面来看看 阅读全文
posted @ 2018-08-23 10:33 borter 阅读(394) 评论(0) 推荐(0) 编辑
上一页 1 ··· 21 22 23 24 25 26 27 28 29 ··· 50 下一页