我建了三个JSP页面
session.jsp
//以下是代码
<%@page contenType="text/html; charset=GBK" pageEncoding="gb2312"%>
<html>
<body>
<center><h3>用户名输入页面</h3></center>
<form action="session2.jsp">
<table border="1" align="center">
<tr><td>用户名<input type="text" name="username"></td></tr>
<tr><td align="center"><input type="submit" value="提交"></td></tr>
</table>
</form>
</body>
</html> session2.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<center>回答问题爷面</center>
<%
String name = request.getParameter("username");
session.setAttribute("theusername",username);
%>
<p>你的名字:<%=name%></p>
<form action="session3.jsp">
<table>
<tr>
<td>你喜欢吃什么食物?<input type="text" name="food"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>session3.jsp<%@ page pageEncoding="gb2312"%>
<html>
<body>
<center>回答问题爷面</center>
<%
String food="";
%>
<%
food=request.getParameter("food");
String name=(String)session.getAttribute("theusername");
%>
用户名:<%=name %>
食物<%=food %>
</body>
</html>
问题出在session2.jsp我在把参数存储在session的时候格式出错。书上是session.setAttribute("theusername",username);中username是不用双引号括的,但在Myeclipse中不用双引号就会出错。如果加了双引号,session保存的就是不用户名了,而是username这个字符串.是第二个页面出错还是别地方啊?
session.jsp
//以下是代码
<%@page contenType="text/html; charset=GBK" pageEncoding="gb2312"%>
<html>
<body>
<center><h3>用户名输入页面</h3></center>
<form action="session2.jsp">
<table border="1" align="center">
<tr><td>用户名<input type="text" name="username"></td></tr>
<tr><td align="center"><input type="submit" value="提交"></td></tr>
</table>
</form>
</body>
</html> session2.jsp<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<html>
<body>
<center>回答问题爷面</center>
<%
String name = request.getParameter("username");
session.setAttribute("theusername",username);
%>
<p>你的名字:<%=name%></p>
<form action="session3.jsp">
<table>
<tr>
<td>你喜欢吃什么食物?<input type="text" name="food"></td>
</tr>
<tr>
<td align="center"><input type="submit" value="提交"></td>
</tr>
</table>
</form>
</body>
</html>session3.jsp<%@ page pageEncoding="gb2312"%>
<html>
<body>
<center>回答问题爷面</center>
<%
String food="";
%>
<%
food=request.getParameter("food");
String name=(String)session.getAttribute("theusername");
%>
用户名:<%=name %>
食物<%=food %>
</body>
</html>
问题出在session2.jsp我在把参数存储在session的时候格式出错。书上是session.setAttribute("theusername",username);中username是不用双引号括的,但在Myeclipse中不用双引号就会出错。如果加了双引号,session保存的就是不用户名了,而是username这个字符串.是第二个页面出错还是别地方啊?
解决方案 »
- servlet页面跳转失败,出现空白的servlet页面,这是为什么??
- struts2的select标签如何取得选中的值
- 关于hibernate中的query.Iterator的疑惑
- 如何得到刚插入数据的Id
- 请问下关于beanutils的问题。
- [急]ctx.lookup("EjbSeverName")异常抛出时间 很长 的现象如下,请高手指点!
- 有视频会议开发经验者请登入
- String content=util.readResponse.handleSocketRead(in,20,5000);有人明白吗??
- Struts问题
- 有关entity EJB的问题
- 关于JSP调用存储过程的问题(菜鸟求教)
- Tomcat5.5,突然没有响应?<急>
<tr> <td>用户名 <input type="text" name="username"> </td> </tr>
这不是么?username
为什么
session.setAttribute("theusername",username);
这个会报错的
而这个不会session.setAttribute("theusername","username");
username加上双引号就不报错~~我晕
session.setAttribute("theusername",name);
在setAttribute("theusername",name); 这个方法里面。theusername是key,name是值。必须放一个对象进去。你先放的是username,容器根本就找不到这个对象,当你用引号引上的时候,就是一个字符串了。所以容器会把它当字符串对象处理!
<html>
<body>
<center>回答问题爷面 </center>
<%String name = request.getParameter("username");
session.setAttribute("theusername",name);//这你错了,改成这样,name就是对象了
%>
不然他写String name = request.getParameter("username");
干嘛啊?
session只能接受当前页面的信息,不能接受由别页面传过来的信息,由别页面传来的信息要用request接受是这样么?
这是我理解不知对不对
request的生命周期紧为一次请求。一次请求过后,就没有了!
不对啊 session也能传 但是你要setAttribute 你没传值怎么传啊