一cookie
cookie是Web服务器保存在客户端的一系列文本信息
cookie的作用
对特定对象的追踪
统计网页浏览次数
简化登录
安全性能
容易信息泄露
常用方法:
方法名 说明
void setMaxAge(int expiry) 设置cookie的有效期,以秒为单位
String getMaxAge() 获取cookie的有效期,以秒为单位
void setValue(Stringh newValue) 在cookie创建后,对cookie进行赋值
String getName() 获取cookie的名称
String getValue() 获取cookie的值
eg:
cookieTest.jsp 设置cookie
<%
Cookie c=new Cookie("uname","asd");
//如果不设置cookie的有效期,那么cookie不会在客户端保存
c.setMaxAge(60);
response.addCookie(c);
response.sendRedirect("after.jsp");
%>
after.jsp 获取cookie
<%
Cookie[] c=request.getCookies();
String value="";
for(int i=0;i<c.length;i++){
String cname=c[i].getName();
if(cname.equals("uname")){
value=c[i].getValue();
}
}
%>
value:<%=value %>
二JavaBean
在前面的开发中使用纯jsp开发,其实没有很好的体现Java的面向对象思想。
大量的代码重复混乱。在Java WEB开发中如果想要编写结构良好的代码,则需要使用JavaBean。
JavaBean就是使用Java语言开发的一个可重用的组件(遵循一定规则的普通Java类),在JSP中可以使用JavaBean减少重复的代码,使得整个JSP代码的开发变得更加简洁。
JSP中使用JavaBean的优点:
1.实现界面和Java代码分离,这样便于日后维护和扩展
2.可以解决代码重复编写,减少代码冗余
JavaBean分为两类:
封装数据
封装业务
JavaBean需要遵循的规则
1.所有的类必须放到一个包中,在WEB项目中没有包的类是不存在的。
2.所有类必须声明为public class,这样才能被外界访问
3.所有属性必须封装,既使用private修饰
4.如果属性要被外界访问,则必须提供setter和getter方法
5.一个JavaBean至少存在一个无参的构造方法,此方法提供给JSP中的标签使用。
如果在一个类中只包含属性、setter、getter方法,那个这个类就称为简单的JavaBean(封装数据),还有人称他们:
POJO:(Plain Orinary Java Objects):简单Java对象
VO:(Value Object):传输值的对象
TO:(Transfers Object):传输对象
<jsp:useBean id=“实例名称” class=“完整类名” scope=“作用域">
</jsp:useBean>
<jsp:setProperty name=“bean实例名” property="*" />
或
<jsp:setProperty name=“bean实例名” property=“bean中属性名” />
或
<jsp:setProperty name=“bean实例名” property=“属性名“ value=“属性值”/>
<jsp:getProperty name=“bean实例名称” property=“属性名称" />
javaBeanTest.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<jsp:useBean id="p1" class="base.vo.Person" scope="page"></jsp:useBean>
<jsp:setProperty name="p1" property="*"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>My JSP 'javaBeanTest.jsp' starting page</title>
</head>
<body>
姓名:<jsp:getProperty name="p1" property="name" /> <br/>
性别:<jsp:getProperty name="p1" property="sex" /> <br/>
年龄:<jsp:getProperty name="p1" property="age" /> <br/>
爱好:<jsp:getProperty name="p1" property="hb" /> <br/>
</body>
</html>
base.vo.Person
package base.vo;
public class Person {
private String name;
private String sex;
private int age;
private String hb;
public String getHb() {
return hb;
}
public void setHb(String hb) {
this.hb = hb;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}