jsp中的session对象+javaBean的应用
(分几步完贴,容量太大,发不了)
/*文件名:user.java 一个javabean程序*/
package user;
import java.io.Serializable;
public class user implements Serializable
{
int id;
String name;
String password;
public user( ) { }
public int getUserid( )
{
return id;
}
public void setUserid( int id )
{
this.id=id;
}
public String getUsername( )
{
return name;
}
public void setUsername(String name)
{
this.name=name;
}
public String getUserpassword( )
{
return password;
}
public void setUserpassword(String password )
{
this.password=password;
}
}
----------------
/*文件名:set.jsp 利用<jsp:useBean >为javabean中的属性幅值,并用session.setAttribute保存*/
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="test1" class="user.user" scope="session" />
<%
test1.setUserid(1);
test1.setUsername("heyf");
test1.setUserpassword("123");
session.setAttribute("token",test1);
%>
------------------------
/*文件名:get.jsp 利用<jsp:useBean>,用session.getAttribute得到session中保存的值*/
<%@page contentType="text/html;charset=GB2312"%>
<jsp:useBean id="test2" class="user.user" scope="session" />
<%
test2=(user)session.getAttribute("token");
int id =test2.getUserid( );
%>
---------------------
错误在get.jsp中
提示:An error occurred at line: 3 in the jsp file: /testjavabean/get.jsp
Generated servlet error:
user cannot be resolved or is not a type
-------
是封装错了,还是不能用封装,还是我用的<jsp:useBean>动作错误?
------
回复此文章 |
user test2=(user)session.getAttribute("token");
------
回复此文章 |
已经试过,还是错误
------
回复此文章 |
test1 user1=(user)session.getAttribute("token");
------
回复此文章 |
haohao的短短的回复居然有那么多错误。
------
回复此文章 |
好几天没有看书了
------
回复此文章 |
还是不知道用<jsp:useBean>动作指令调用session对象
用<%@page language="java" import="apple.*" %> 方法倒是font>,u1);
%>
文件名称2:get.jsp
<%@page language="java" import="apple.*" %>
<%
User u=(User)session.getAttribute("token");
out.println(u.getUserid());
%>
//此方法经过测试,可以成功调用session对象
------
回复此文章 |
设定scope=session就可以了,
不要再session.setAttribute()或者session.getAttribute()
------
回复主题:那如果用Session取代getParameter,那么又如何把表单的值存到Session里呢?
------
回复此文章 |
算是明白了一点。scope的属性设置为session的时候,值自动保存在里面,当把所有打开的浏览器都关了时候,值就消失,也就是session的生命周期结束
同样,page的生命周期是当前页面
request的是相临两个页面
application是当前整个web范围
当然,用scope的属性可随便用,但我们要考虑他的机会成本,如用session对象可保持整个周期,可是整个周期占用了内存。
------
回复此文章 |
以上是直接给javabean赋值,而现实中大多数是由客户端通过表单赋值的(所谓体现交互式),其实通过表单扶植很简单
1,/*先建一个表单html文件 login.html*/
<html>
<head>
<title>用表单对javabean复职</title>
</head>
<body>
<center>
用表单对javabean设值
<form action="tu4.jsp" method="post">
你的姓名:<input type="text" name="myname"><br>
你的密码:<input type="password" name="mypassword"><br>
<input type="submit" name="sb" value="提交">
<input type="reset" name="rs" value="重置">
</form>
</center>
</body>
</html>
2,/*在用<jsp:setProperty>动作即可
名称:get.jsp*/
<%@page contentType="text/html;charset=GB2312"%>
<jsp:useBean id="user" scope="session" class="apple.User2" />
<jsp:setProperty name="user" property="username" param="myname"/>
<jsp:setProperty name="user" property="password" param="mypassword"/>
<jsp:getProperty name="user" property="username"/>你好,请记住你的密码
<font color="red">
<jsp:getProperty name="user" property="password"/>
-------
/*文件名:user.java 一个javabean程序*/
package user;
import java.io.Serializable;
public class user implements Serializable
{
int id;
String name;
String password;
public user( ) { }
public int getUserid( )
{
return id;
}
public void setUserid( int id )
{
this.id=id;
}
public String getUsername( )
{
return name;
}
public void setUsername(String name)
{
this.name=name;
}
public String getUserpassword( )
{
return password;
}
public void setUserpassword(String password )
{
this.password=password;
}
}
----------------
/*文件名:set.jsp 利用<jsp:useBean >为javabean中的属性幅值,并用session.setAttribute保存*/
<%@page contentType="text/html;charset=gb2312"%>
<jsp:useBean id="test1" class="user.user" scope="session" />
<%
test1.setUserid(1);
test1.setUsername("heyf");
test1.setUserpassword("123");
session.setAttribute("token",test1);
%>
------------------------
/*文件名:get.jsp 利用<jsp:useBean>,用session.getAttribute得到session中保存的值*/
<%@page contentType="text/html;charset=GB2312"%>
<jsp:useBean id="test2" class="user.user" scope="session" />
<%
test2=(user)session.getAttribute("token");
int id =test2.getUserid( );
%>
---------------------
错误在get.jsp中
提示:An error occurred at line: 3 in the jsp file: /testjavabean/get.jsp
Generated servlet error:
user cannot be resolved or is not a type
-------
是封装错了,还是不能用封装,还是我用的<jsp:useBean>动作错误?
------
回复此文章 |
user test2=(user)session.getAttribute("token");
------
回复此文章 |
已经试过,还是错误
------
回复此文章 |
test1 user1=(user)session.getAttribute("token");
------
回复此文章 |
haohao的短短的回复居然有那么多错误。
------
回复此文章 |
好几天没有看书了
------
回复此文章 |
还是不知道用<jsp:useBean>动作指令调用session对象
用<%@page language="java" import="apple.*" %> 方法倒是font>,u1);
%>
文件名称2:get.jsp
<%@page language="java" import="apple.*" %>
<%
User u=(User)session.getAttribute("token");
out.println(u.getUserid());
%>
//此方法经过测试,可以成功调用session对象
------
回复此文章 |
设定scope=session就可以了,
不要再session.setAttribute()或者session.getAttribute()
------
回复主题:那如果用Session取代getParameter,那么又如何把表单的值存到Session里呢?
------
回复此文章 |
算是明白了一点。scope的属性设置为session的时候,值自动保存在里面,当把所有打开的浏览器都关了时候,值就消失,也就是session的生命周期结束
同样,page的生命周期是当前页面
request的是相临两个页面
application是当前整个web范围
当然,用scope的属性可随便用,但我们要考虑他的机会成本,如用session对象可保持整个周期,可是整个周期占用了内存。
------
回复此文章 |
以上是直接给javabean赋值,而现实中大多数是由客户端通过表单赋值的(所谓体现交互式),其实通过表单扶植很简单
1,/*先建一个表单html文件 login.html*/
<html>
<head>
<title>用表单对javabean复职</title>
</head>
<body>
<center>
用表单对javabean设值
<form action="tu4.jsp" method="post">
你的姓名:<input type="text" name="myname"><br>
你的密码:<input type="password" name="mypassword"><br>
<input type="submit" name="sb" value="提交">
<input type="reset" name="rs" value="重置">
</form>
</center>
</body>
</html>
2,/*在用<jsp:setProperty>动作即可
名称:get.jsp*/
<%@page contentType="text/html;charset=GB2312"%>
<jsp:useBean id="user" scope="session" class="apple.User2" />
<jsp:setProperty name="user" property="username" param="myname"/>
<jsp:setProperty name="user" property="password" param="mypassword"/>
<jsp:getProperty name="user" property="username"/>你好,请记住你的密码
<font color="red">
<jsp:getProperty name="user" property="password"/>
-------
hofman
2005-11-19 22:20:46
评论:3
阅读:4476
引用:0
<Mail>
@2008-12-18 13:28:51 Kiki
Give please. The only way to get rid of a temptation is to yield to it.
I am from Ukraine and learning to write in English, give true I wrote the following sentence: "How to make a linux network into a cluster and discussion of network hardware and software options."
Thank ;-) Kiki.
I am from Ukraine and learning to write in English, give true I wrote the following sentence: "How to make a linux network into a cluster and discussion of network hardware and software options."
Thank ;-) Kiki.
@2007-09-04 09:16:13 游客
<%@page session="True"%>
@2006-09-27 09:53:51 游客
<%@page contentType="text/html;charset=GB2312"%>
<jsp:useBean id="user" scope="session" class="apple.User2" />
<jsp:setProperty name="user" property="*"/>
<jsp:useBean id="user" scope="session" class="apple.User2" />
<jsp:setProperty name="user" property="*"/>