Cookie概念:
Cookie的格式实际上是一段纯文本信息, 由服务器随着网页一起发送到客户端, 并保存在客户端硬盘中指定的目录的. 大家都传说Cookie会造成严重的安全威胁什么的, 其实不是这么回事情. 服务器读取Cookie的时候, 只能够读取到这个服务器相关的信息. 而且, 浏览器一般只允许存放300个Cookie, 每个站点最多存放20个, 而且, 每个Cookie的大小现在在4K, 根本不会占用多少空间. 并且, Cookie是有时效性质的. 例如, 设置了Cookie的存活时间为1分钟, 则一分钟后这个Cookie就会被浏览器删除
Cookie版本:
目前有两个版本:
版本0 : 由Netscape公司制定的,也被几乎所有的浏览器支持. Java中为了保持兼容性, 目前只支持到版本0, Cookie的内容中不能空格,方括号,圆括号,等于号(=),逗号,双引号,斜杠,问号,@符号,冒号,分号。
版本1 : 根据RFC 2109文档制定的. 放宽了很多限制. 上面所限制的字符都可以使用. 但为 ......
<c:if>用于
流程控制
语法
1:
<c:if
test=”testCondition” var=”varName”
[scope=”page|request|session|application”]/>
语法
2:
<c:if
test=”testCondition” var=”varName”
[scope=”page|request|session|application”]>
属性
名称
说明
EL
类型
必须
默认值
test
如果表达式的结果为true
,则执行本体内容,false
则相反
Y
boolean
是
无
var
用来储存test
运算后的结果,即true
或false
N
String
否
无
scope
var
变量的JSP
范围
N
String
否
page
eg:
<%@ page
language="java" import="java.util.*"
pageEncoding="UTF-8"%>
<%@ taglib
uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<html>
<head>
</head>
<body>
<h2><c:out value="<c:if>"/></h2>
<c:if
tes ......
今天测试人员给我提了一个bug,说我开发的模块报框架的js错误,当时一听就懵了,我本地测试完全没问题,怎么上了服务器会出现这个问题呢?
于是我去服务器上测了一下自己写的那个模块,结果报的错误还和测试人员提给我的错误不一致,杂回事?于是我又找到一名同事,让他帮我测一下,报的错误又是另外一个版本,这下搞了。
没办法,js调试吧,结果调试了半天,没有任何结果,既然我这边的错误调试不出来结果,就跑去同事的机器上调了,过了好半天,终于发现了一个问题,就是我的jsp页面中有部分代码废弃了,被我注释掉的部分报错,汗……
结果明了了,由于本地用的是weblogic服务器,对jsp的解析与服务器上的websphere不同,马上将页面所有的注释全部去掉,等服务器重新打包测试后,终于问题解决了。
这件事,再次证明了保证代码的干净整洁是多么的重要,浪费了大半天的工作时间,问题就在代码的注释上,希望看到此文章的朋友们今后不要再出现类似问题,耽误时间…… ......
一、概述
缓存的思想可以应用在软件分层的各个层面。它是一种内部机制,对外界而言,是不可感知的。
数据库本身有缓存,持久层也可以缓存。(比如:hibernate,还分1级和2级缓存)
业务层也可以有缓存(但一般来说,这是一个过程域,不会设缓存)。
表现层/数据服务层(传统web的表现层)也可以设置缓存(jsp cache 就是这一层,实现在app server上的缓存机制)
另外Browser也有缓存(如IE)这个大家也都知道(实现在 web server 上的缓存机制)。越上层的缓存效果越好,越底层的缓存影响越深远。
二、缓存实现(浏览器缓存当前访问的JSP动态页面)
(一)、服务端方法:
<%
response.setHeader("Pragma","No-cache");
response.setHeader("Cache-Control","no-cache");
response.setDateHeader("Expires", -10);
%>
(二)、客户端方法:
meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta ......
1、<%=(new java.util.Date()).toLocaleString()%>
2、<script language= "javascript ">
var today=new Date()
var month=today.getMonth()+1
document.write(today.getYear()+ "年 "+month+ "月 "+today.getDate()+ "日 ")
</script>
3、Date currentTime = new Date();
SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd ");
String dateString = formatter.format(currentTime);
dataString 的格式就是2007-03-08这类型
4、<%
java.util.Date now=new java.util.Date();
out.println(now);
%>
5、import java.util.*;
int y,m,d,h,mm;
Calendar c = Calendar.getInstance();
y = c.get(Calendar.YEAR); //年
m = c.get(Calendar.MONTH) + 1; //月
d = c.get(Calendar.DAY_OF_M ......
实验报告
一. 基本思路及实验结果(记录各种运行情况或页面的运行效果);
1、使用TOMCAT服务器配置jsp应用
1)打开TOMCAT/webapps子目录,创建一web应用(如myweb),将example0.jsp与example1.jsp文件复制入内,并在该目录下设置WEB-INF目录及web.xml配置文件;
2)在浏览器地址栏输入http://localhost:8080/myweb/example0.jsp ,回车后,查看example0.jsp网页效果
运行结果:
3)在浏览器地址栏输入http://localhost:8080/myweb/example1.jsp ,回车后,查看example1.jsp网页效果;
2、编写基本JSP动态网页
1)创建date.jsp,页面运行效果应根据当前系统时间输出:
“(上午、下午、晚上)好! 今天是__ __年_ ___月__ __日,星期(一~日)。”;
[参考代码:Date today=new Date(); thisYear= 1900+today.getYear();]
源代码:
<%@ page language="java" import="java.util.*" pageEncoding="gbk"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path ......