javaBean实体类和对象基础.docx
《javaBean实体类和对象基础.docx》由会员分享,可在线阅读,更多相关《javaBean实体类和对象基础.docx(10页珍藏版)》请在冰豆网上搜索。
![javaBean实体类和对象基础.docx](https://file1.bdocx.com/fileroot1/2023-4/16/f976789b-d4b0-48d9-86f6-855be16f3182/f976789b-d4b0-48d9-86f6-855be16f31821.gif)
javaBean实体类和对象基础
1)Cookie和Session的区别:
1)Cookie是保存在客户端,Session是保存在服务端
2)Cookie不是很安全,可以分析本机的COOKIE并进行COOKIE欺骗,
3)单个COOKIE在客户端的限制为3k,
4)session会在一定时间内保存在服务器上,当访问增多时,会影响服务器的性能
5)将登录的重要信息放在SESSION中,其它的可以放在COOKIE中
session是在服务器端保存用户信息,Cookie是在客户端保存用户信息
session中保存的是对象,Cookie保存的是字符串
session随会话结束而关闭,Cookie可以长期保存在客户端
Cookie通常用于保存不重要的用户信息,重要的信息使用session保存
applicationjsp内置对象类似于系统的一个全局变量上下文对象只要使用的是同一个服务器,那么application中存入的数据将共享的
voidsetAttribute(Stringkey,Objectvalue)往application中绑定数据以键值对的形式保存
ObjectgetAttribute(Stringkey);可以根据绑定的键值获取value值
String path=getRealPath(Stringpath);//返回相对路径的真实路径
jsp中使用javaBean:
用于在jsp页面实例化一个javaBean对象,代替java类中的getssets方法
语法:
useBeanid="name"scope=""class="ClassName">
id:
javaBean的名称
clss:
javaBean的全路径
scop:
作用域默认为page
jsp中通过javaBean给属性赋值
setPropertypropety=“*”name=“name”>
获取值
getPropertyproperty="name"name="name"/>
在赋值和获得值的时候
表单中的name属性必须和javaBean中的属性保持一致否则拿不到值
jsp中写java代码,显得页面很混乱,两种解决方式:
ELJSTL表达式:
EL表达式:
ExpressionLanguage
可以简化代码:
request.getAttribute("user");当user不存在时返回的是null
${user}当user不存在时返回的是一个空
语法:
${表达式}
表达式通过"."和“[]”来存取数据:
"[]"里面放得是字符串属性
EL表达式变量的存取:
语法:
${变量名}
在没有指定默认范围的时候,默认情况先从小范围查找,顺序一次是:
page========request========session======application
与作用域范围相关的隐含对象;
PageScope
RequestScope
SessionScope
ApplicationScope
EL支持自动转换类型:
与存取用户输入相关的隐含对象
Param:
根据form表单的name属性获取值,返回值为字符串
ParamValues根据form表单的name属性获取值,返回值为数组
EL表达式关系运算,和数学逻辑运算
WebRoot
1login.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
Inserttitlehere
user:
pwd:
2suc.jsp
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
InserttitlehereuseBeanid="user"scope="session"class="com.chinasofti.eec.vo.User">
useBean>//bean为了简化代码量而实例化的对象user。
调用的User私有化的
setPropertyproperty="*"name="user"/>//nameuser对象必须是id的固定写法
欢迎:
getPropertyproperty="name"name="user"/>登录//property跟属性的输入的值
EL表达式
1
<%@pageimport="com.chinasofti.eec.vo.User"%>
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
Inserttitlehere
<%request.setAttribute("user","admin");%>//set没有等于号赋值
普通的获取方式:
<%=request.getAttribute("user1")%>
//get拿值
=========================================
EL:
${user1}
=========================================
<%
Useruser1=newUser("admin1","888888");
Useruser2=newUser("admin2","888888");
Useruser3=newUser("admin3","888888");
Useruser4=newUser("admin4","888888");
pageContext.setAttribute("user",user1);
session.setAttribute("user",user3);//setAttribute响应传不了值
request.setAttribute("user",user2);
application.setAttribute("user",user4);
pageContext.setAttribute("count","30");
%>
<%--<%=((User)pageContext.getAttribute("user1")).getName()%>--%>
用户名是:
${user1.name}
密码是:
${use1r["pwd"]}
============================================
name:
${user.name}
pwd:
${user.pwd}
============================================
requestname:
${requestScope.user.name}
requestpwd:
${requestScope.user.pwd}
applicationname:
${applicationScope.user.name}
applicationpwd:
${applicationScope.user.pwd}
============================================
<%--<%=pageContext.getAttribute("count")+30%>--%>
result:
${count+30}
--自动转为int型了做数据运算-->
输出
普通的获取方式:
null
=========================================
EL:
=========================================
用户名是:
密码是:
============================================
name:
admin1
pwd:
888888
============================================
requestname:
admin2
requestpwd:
888888
applicationname:
admin4
applicationpwd:
888888
============================================
result:
60
2
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
Inserttitlehere
user:
pwd:
type="password"name="pwd">
爱好:
name="like"value="打足球">足球value="踢篮球">篮球
3
<%@pagelanguage="java"contentType="text/html;charset=UTF-8"
pageEncoding="UTF-8"%>
DOCTYPEhtmlPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http:
//www.w3.org/TR/html4/loose.dtd">
Inserttitlehere
<%request.setCharacterEncoding("utf-8");%>
用户名为:
${param.name}
密码为:
${param.pwd}
爱好为:
${paramValues.like[0]}
${paramValues.like[1]}
flag:
${param.name=="admin"&¶m.pwd=="888888"}
Vo
packagecom.chinasofti.eec.vo;
publicclassUser{
privateStringname;
privateStringpwd;
publicUser(){
super();
}
publicUser(Stringname,Stringpwd){
super();
this.name=name;
this.pwd=pwd;
}
publicStringgetName(){
returnname;
}
publicvoidsetName(Stringname){
this.name=name;
}
publicStringgetPwd(){
returnpwd;
}
publicvoidsetPwd(Stringpwd){
this.pwd=pwd;
}
}