表现层_Review

Servlet

1、  Servlet 核心

WEB 程序模型:客户端(浏览器) + 服务端(发送 WEB 内容至客户端浏览器)

Tomcat JBOSS

WEB 应用程序结构

Servlet 运行在服务器上的 java 程序,为客户端提供动态内容,使用 JDBC Hibernate 访问数据库, MVC 模式中的 Controller

PPT 20 Servlet 执行流程

2、  Servlet 生命周期

加载和实例化:第一个请求到来或者 Servlet 容器启动

init :调用一次,通常来做一些资源初始化或 one-time activities ActionServlet 读取配置文件)

service :线程安全的,多线程并发调用,避免使用成员变量,共享资源要进行同步

destroy Servlet 容器决定删除一个 Servlet 实例,保存持久化状态

3、  请求处理

请求参数 Parameters getParameter/Values/Map/Names

请求头 Headers getHeaders/Names

请求 URL getContextPath WEB 应用路径)、 getServletPath Servlet 实例虚拟路径)

请求合作: set/getAttribute

4、  响应生成

响应头: setHeader addHeader

响应体: getWriter/getOutputStream

重定向: sendRedirect (转发和重定向)

5、  资源访问

一切可以被 Servlet 使用的事物

访问 WEB 组件: RequestDispatcher ServletContext include forward

访问数据库组件: JDBC 、连接池( context.xml META-INF )、 jndi 、数据源

6、  HTTP 状态管理

http 的无状态特性

cookie 机制:客户端用来保存状态( cookie 保存购物车信息) getName getValue setMaxAge addCookie getCookies

保存在客户端、大小有限制、用户可以禁止、只能保存字符串

session 机制:服务器端保存状态(会员卡例子, cookie 保存会员卡 ID session 保存会员卡消费信息) setAttribute getAttribute removeAttribute invalidate

保存在服务器端、 web 服务器都会支持、可以保存任意类型

追踪 session cookie URL 重写( response.encodeURL

7、  过滤器

服务器端位于客户端和请求资源之间(编码过滤等)

登录验证、授权和验证、包装请求( set/getAttribute getParameter 改变属性或参数存储及解析的规则)和响应( getWriter getOutputStream 提供缓冲等)

init —— doFilter —— destroy

8、  监听器

ServletContext HttpSession ServletRequest

set/removeAtrribute

 

JSP

1、  JSP 概述

JSP web 服务器存储的基于文本的文档, java 服务器页面

JSP 执行流程:翻译——编译——运行最新生成的 Servlet

PPT 7

JSP 优点:无需在 web.xml 部署、自动编译、自动重加载、易学(非 java 程序员)、易读、简单

JSP 环境:客户端浏览器、 web 服务器、开发工具(文本编辑器、 MyEclipse

2、  JSP 语法

脚本元素(掺杂 java 代码)

       声明—— <%!  %> 声明成员变量、定义方法, _jspSevice 方法外,一般不会产生输出,导致并发

       脚本—— <%  %>_jspSevice 方法内, java 代码片段,隐含对象可用,可能产生输出

       表达式—— <%=  %>_jspSevice 方法内,返回字符串,隐含对象可用,一定生成输出

指令(页面属性、导入标签库、静态包含)

页面指令: <%@page session (默认 true )、 contentType text/html;charset=utf-8 )、 pageEncoding jsp 页面编码)、 import (导包,默认导入 lang javax.servlet javax.servlet.jsp javax.servlet.http 、)、 errorPage (指示错误跳转页面)、 isErrorPage (指示该页面是否为错误跳转页面, true exception 可用) %>

       包含指令:静态包含(翻译)、不可重复定义变量

       标签库指令: JSTL 标签使用等

动作(操纵 javabean 组件、动态包含、转向、 plugin

       useBean id scope class (父类或接口)、 type (类名))

       setProperty name property 可通配、 param value 字符串——基本类型)

getProperty name property

include 动态包含(运行),响应包含

forward 转发,响应提交之前, forward 之前自动清除响应缓存

plugin 导入一些 applet 程序

param 用于 jsp:forward jsp:include jsp:plugin 中传递参数

注释( html 注释 <!-- --> jsp 注释( <%-- --%> )、 java 注释)

3、  隐含对象

9

pageContext request response session application exception out config page this

4、  MVC 架构

model1 model2

5、  EL

用于表现的一种简单语言

${} [] . Integer Float String Boolean NULL 、运算符(算术、关系、逻辑)、 empty null 或不存在)

定义函数( tld 文件、方法要求 public static

隐含对象: 11 pageContext pageScope sessionScope requestScope applicationScope param paramValues header headerValues cookie initParam

6、  JSTL 标签库

JSTL 标签 +EL ——代替 JSP 中的 java 代码

jstl.jar standard.jar

Core Tags :变量操作( <c:out set remove catch> )、条件判断( if choose+when+otherwise )、循环、迭代( <c:forEach items var varStatus begin end step ))、 URL 操作( url redirect param import>

EL functions

${fn:toUpperCase(name)}length trim

Format SQL XML tags 了解

JavaBean :支持属性、事件、业务方法,有默认构造器、可序列化

 

Struts

1、  Struts 介绍

model1 model2

2、  Struts 应用结构

PPT 38 Struts 请求生命周期


ActionServlet —— ActionForm validate )—— Action —— JSP

3、  Struts 框架组件

核心组件都是 C

辅助组件 V (标记库)

struts-config.xml

       form-beans

       global-exception/forwards

       action-mappings

              path type name scope validate input forward

       controller

       message-resources

4、  Action 相关

Struts 框架结束及应用程序编码开始,不应当包含业务逻辑( biz

FormBean 检索值:不应直接传送 formbean (依赖于 Struts

自定义响应: return null (文件下载、 ajax ),无需下一步跳转

内置 Action

       DispatchAction (请求参数 function=add ,配置文件中 <action-mapping parameter=”function” —— action 类中的 add 方法)

       MappingDispatchAction (请求路径 /add parameter=”add” —— add 方法)

       LookupDispatchAction (一表单多提交 , 请求参数 function=Add%20User ——配置文件 parameter= function “——资源文件 button.add= Add User —— Action 类中 getKeyMethodMap button.add add )——调用 add 方法)

       ForwardAction

       DownloadAction

处理重复提交: token 机制, html:form html:link 自动生成 token 值, saveToken isTokenValid request true )、 resetToken

自定义 Action ActionForm

5、  Struts 标记库

html

bean

logic

jstl+EL 替代 Struts 标签

6、  Struts 国际化

i18n internationalization 国际化

l10n locallization 本地化

java.util.Locale ResourceBoundle

java.text.NumberFormat DataFormat MessageFormat

native2ascii –encoding utf-8 文件 1 文件 2

1-4 字节

request Encoding page Encoding jsp )、 response Encoding

7、  Struts 表单验证, validator 框架

客户端 <html:javascript  formName=”logonForm”>  οnsubmit=return validateLogonForm(this)

服务器端

       plug-in 启用 validator 框架 validator-rules.xml validation.xml(formbean 关联 )

       form 继承自 ValidateForm reset validate

       配置 validation.xml

       资源文件

8、  Struts 异常处理

声明式异常 ( 不用在程序中处理 , 配置文件处理 )

<global-excepiton>

< excepiton type path key>

资源文件

9、  Struts Tiles 框架

plug-in 启用 Tiles 框架

定义布局(继承)

创建布局页面

创建要使用的 JSP 页面

使用 Tiles

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值