javaWeb中页面设计小结

四种会话跟踪技术

会话跟踪:在客户端与服务端连接的过程中始终保持数据交换的通道

1.URL重写

2.表单隐藏域传值

3.Session

4.Cookie

 

Session与Cookie区别

Session是存在于服务端的临时缓存,利用内存实现的存储机制,只能存储极少量数据(用户登录信息),会随着会话的结束而清空,或者有效期到达之后清空(服务端)

Cookie是存在于客户端浏览器的缓存数据,是利用文件存储,可以存储少量数据,有效期可以自行设置,一般可以使用cookie存储用户信息,购物车信息,等缓存数据(客户端)

 

JSP三大指令

Page

JSP页面的设置通常使用page指令

Language设置页面的脚本语言

contentType响应数据的类型(text/html;charset=utf-8)   http协议

PageEncoding页面的编码模式  jsp页面

Import导入外部依赖包

ErrorPage指定处理异常与错误的页面

IsErrorPage标记当前页面是否为异常与错误处理的页面

isELIgnored是否不解析EL表达式

Include

静态包含

Taglib

标记库

 

 

静态include动态include

静态包含就是把其他页面包含到当前页面中同时解析,生成一个Java文件

<%@include file=”被包含的页面”%>

动态包含把其他被包含的页面分别解析,各自生成java文件,然后在动态的导入主页面中

 

七大动作

    "">

    "" name=""/>

    "">

    "" name=""/>

    "" codebase=""type="bean">

    "" name=""/>

    "">

EL

ExpressLanguage表达式语言

${表达式}

 

JSTL

JSP标准标签库

使用过程

1.导入jstl支持包(jar包)

2.在需要使用jstl标记库的页面中导入标记

 

常用JSTL标签

C 核心(core) 常用

Fmt 格式化标签(日期,数字格式化)

X   xml标签

Sql  访问数据库

Fn  全局函数

 

 

 

 

上传文件注意事项

1.表单的提交方式必须为Post

2.表单的enctype必须设置为multipart/form-data

3.每一个文件控件都必须有一个name属性

4.文件上传的目标一般为服务器的web-info或者服务器所在主机的本地磁盘(非项目目录),多数情况文件存储目标不会直接位于项目中,而是其他盘符或者目录,可以通过在服务器配置虚拟的方式访问到这些目录

 

SmartUpload与Commons-FileUpload的区别

Smartupload上传文件时,是直接将文件加载内存中,所以能够上传的文件大小与内存空间大小有直接关系,所以在上传大文件时很容易溢出,而且上传效率较低

 

Commons-Fileupload:是apache开源项目下子项目,能够提供稳定高效的文件上传功能,在上传文件时是利用磁盘的指定目录作为临时目录(在文件上传时不是一次性将文件加载的内存中),通过指定临时目录作为文件上传时的临时缓存目录,在上传完成之后会清空临时文件,目前common-fileupload作为推荐文件上传组件(struts2框架默认就支持,以及servlet3.0也直接将其作为一个模块纳入进来)

非servlet3.0的项目需要使用commons-fileupload时需要导入一下包:

commons-fileupload-1.3.3.jar

commons-io-2.5.jar

 

 

 

页面刷新表单重复提交问题

1.将表单提价方式改为post(不是最终解决方案)

2.Token机制(令牌)

 

 

监听器

1.ServletContext监听

ServletContextListener

ServletContextAttributeListener

2.Session监听

HttpSessionListener:监听session的创建与销毁

HttpSessionAttributeListener:监听session中属性的变化(新增,删除,替换)

3.Request监听

ServletRequestListener

ServletRequestAttributeListener



你可能感兴趣的:(Java高级教程,java,web,session,文件上传与下载)