12 2016 档案
摘要:过滤器是什么 与servlet非常类似,过滤器就是java组件,请求发送到servlet之前,可以用过滤器截获和处理清求,另外 servlet结束工作之后,在响应发回给客户之前,可以用过滤器处理响应。 容器根据DD中的声明来确定何时调用过滤器。在DD中,部署人员要建映射。明确对于哪个请求URL模式要调用哪些过滤器。所以,要由部署人员(而不是程序员)来确定哪些请求或响应应当由哪些过滤器处理。 ...
阅读全文
摘要:Web目录 WAR文件 WAR文件只是Web应用结构的一个快照,采用了一种更可移植的压缩形式。 建立WAR文件时,就是把整个Web应用结构(去掉Web应用上下文目录,就是把WEB-INF之上的一级目录去掉)压缩起来,给定一个.war扩展名。 容器如何知道Web应用的名字/上下文呢?Tomcat中,WAR文件名就是了! 在一个WAR文件中,可以在META-INF/MANIFEST.MF...
阅读全文
摘要:serlvet安全的4大要素 认证、授权、机密性和数据完整性。 容器完成认证和授权的过程 代码中不要有安全信息 大多数Web应用,大多数情况下Web应用的安全约束都应该以声明方式处理,即在部署描述文档中指定。原因如下: 谁不想更多地采用XML呢 通常能自然地映射到公司IT部门现有的任务角色 你可以用更灵活的方式使用以前servlet 应用开发人员可以重servlet不用去碰源代...
阅读全文
摘要:安装JSTL1.1的说明 JSTL1.1不是JSP2.0规范的一部分,能访问servlet和JSP API并不意味着能访问JSTL。 使用JSTL之前,需要将jstl.jar文件安装到Web应用的WEB-INF/lib目录,即每个Web应用都需要JSTL的一个副本。 不用脚本实现一个循环——c:forEach servlet代码: 使用脚本实现,很不好 若想要在JSP页面中显示其...
阅读全文
摘要:标记文件:很想include,但是比include更好 建立和使用标记文件的最简方法 取一个被包含文件(如Header.jsp),把它重命名为带有一个.tag扩展名(Header.tag); 把标记文件(Header.tag)放在WEB-INF目录下一个名为tags的目录中; 在JSP中放一个taglib指令(有一个tagdir属性),并调用这个标记; 如何向标记文件发...
阅读全文
摘要:学习的知识点 JSP,最后会变成一个servlet JSP最终或变成一个完整的servlet在Web应用中运行,只不过这个servlet类会由容器写好。 JSP中的scriptlet 所谓scriptlet就是放在标记中的java代码。如: JSP中的指令 JSP指令和scriptlet区别在于:多了一个@符号。注意中间无空格。 使用page指令导入包 导入一个包: ...
阅读全文
摘要:以前servlet和JSP交互的代码 servlet代码示例: JSP代码示例: 若属性不是一个String而是一个Bean呢? 一个简单的JavaBean servlet代码示例: JSP代码示例: 或者这么写: JSP中不要出现脚本 使用标准动作的JSP 标准动作jsp:useBean详解 scope默认是page作用域,那么在上述示例代...
阅读全文
摘要:工程结构 上下文参数示例 示例程序展示了如何从上下文读取参数,并在上下文监听器中生成属性对象和在上下文中设置属性。 建立一个简单的JavaBean对象作为属性:Dog.java package com.example.entities;/** * Created by LTN on 2016/11/2. */public class Dog { private String ...
阅读全文
摘要:Servlet生命周期 生命周期三大重要时刻 Servlet集成结构: 方法 init() service() doGet()/goPost() 何时调用 Servlet实例被创建之后、为客户请求提供服务之前 当第一个客户请求到来时 service()根据HTTP方法来选择调用 作用 初始化 查看客户请求并调用相应的方法 ...
阅读全文
摘要:Servlet初始化参数 在DD文件(web.xml)中 Servlet参数在/参数下: 在Servlet代码中 在Servlet初始化之前不能使用Servlet初始化参数 一旦有了一个ServletConfig引用,就可以调用getInitParameter()方法,不过 不能从构造函数调用这个方法!因为容器只调用构造函数还未调用init()之前,它还不算一个完整的Servlet...
阅读全文
摘要:容器怎么知道客户是谁 Http协议是无状态连接,客户浏览器与服务器建立连接、发出请求、得到响应,然后关闭连接。即,连接只针对一个请求/响应。 对容器而言,每个请求都来自于一个新的客户。 客户需要一个唯一的会话ID IP不能唯一标示Internet上特定的用户 比如公司网络内的用户为一个IP;而IP地址也只是路由的地址;用户换了一台设备的情况; 客户和容器如何交互...
阅读全文
摘要:项目结构 用户首页 form.html Beer Selection Page Select Color: MVC之C——Servlet BeerSelect.java package com.example.web;import com.example.model.BeerExpert;i...
阅读全文
摘要:什么是容器 Servlet没有main()方法,他们受控于另一个Java应用,这个java应用称为容器(Container)。 Web服务器应用(如Apache)得到一个指向Servlet的请求(如何判断是一个Servlet请求而不是一个静态HTML页面请求?)时,服务器不是把这个请求交给Servlet本身,而是交给部署该Servlet的容器。由容器向Servlet提供HTTP请求和响应,而且...
阅读全文
摘要:《Head First Servlets & JSP》(中文版) BB,KS & BB著, 苏钰函,林剑译,中国电力出版社 数据交互 Web浏览器和Web服务器:通过Http协议交互HTML数据。 到底什么是MIME类型 对一个Http响应: Content-Type(内容类型)响应首部的值称为MI
阅读全文
摘要:一、灵活构建的意义 一个优秀的构建系统必须足够灵活,它应该能够让项目在不同的环境下都能成功地构建。例如,典型的项目都会有开发环境、测试环境和产品环境,这些环境的数据库配置不尽相同,那么项目构建的时候就需要能够识别所在的环境并使用正确的配置。 还有一种常见的情况是,项目开发了大量的集成测试,这此测试运
阅读全文
摘要:一、Web项目结构 1、显式指定Web项目打包方式为war: 2、默认目录 根据“约定大于配置”的规则,Web项目的类及资源文件默认位置为src/main/java和src/main/resources,测试类和测试资源文件默认位置src/test/java和src/test/resources,W
阅读全文
摘要:一、理想的发布版本,在项目构建时需要满足以下条件: 1、所有自动化测试应当全部通过; 2、项目没有配置任何快照版本的依赖; 3、项目没有任何快照版本的插件; 4、项目所包含的代码已经全部提交到版本控制系统中; 因此,将项目的快照版本更新至发布版本之后,应当再执行一次Maven构建,以确保项目状态是健
阅读全文
摘要:一、持续集成的步骤: 1、持续编译 2、持续数据库集成 3、持续测试 4、持续审查 5、持续部署 6、持续反馈 <!--more--> 二、持续集成工具——Hudson 1、安装Hudson 2、准备Subversion仓库 正式建立Hudson持续集成任务之前,需要准备好版本控制系统,如CVS、S
阅读全文
摘要:一、基于Maven的测试 1、maven-surefire-plugin插件 该插件的test目标会自动执行测试源码路径(默认src/test/java)下符合以下命名模式的测试类: 以Test开头或结尾,或者以TestCase结尾的Java类。 <!--more--> 2、跳过测试类 要求Mave
阅读全文
摘要:除了坐标、依赖以及仓库外,Maven另外两个核心概念是生命周期和插件。 一、生命周期 Maven的生命周期是抽象的,其本身不做任务实际的工作,实际的任务(如编译源代码)都交由插件来完成。 三套生命周期: Maven拥有三套相互独立的生命周期,分别是clean、default和site。 clean生
阅读全文
摘要:一、聚合 假设有两个模块:account-email和account-persist; 能够使用一条命令就能构建上述两个模块,需要创建一个额外的模块:account-aggregator; 通过account-aggregator构建整个项目的所有模块,而该模块本身也是Maven项目,有自己的Pom
阅读全文
摘要:一、依赖范围 Maven在编译项目主代码的时候,需要使用一套classpath——编译classpath; 在编译和执行测试的时候,使用另一套classpath——测试classpath; 实际运行Maven项目的时候,又会使用一套classpath——运行classpath。 【依赖范围】就是用来
阅读全文
摘要:一、Maven仓库的分类 1、本地仓库 一般来说,在Maven项目目录下,没有诸如lib/这样用来存放依赖文件的目录。 要自定义本地仓库目录地址时,可以编辑文件~/.m2/setting.xml,设置localRepository元素的值。 注意:默认情况下~/.m2/settings.xml文件是
阅读全文
摘要:《Maven实战》徐晓斌 2011 机械工业出版社 一、介绍 1、名词 artifact:插件 极限编程XP 2、构建脚本: maven——pom.xml(Project Object Model) ant——build.xml <!--more--> 其基本结构是目标(target)、依赖(dep
阅读全文