struts中session丟失

kinsent發表於2007-03-18
各位好.
新手一個,望指教!
很簡單的程式,登入頁面login.jsp有input,輸入使用者名稱後,呼叫welcomeAction.do,跳轉到welcome.jsp,並顯示改使用者名稱.
login.jsp的主要程式碼如下:
<form method="POST" action="welcomeAction.do">
<br/>
<p> username:
<input type="text" name="username" value="defaultuser" align="left">
</p>
<input type="submit" value="提交" name="Submit"/>
<input type="reset" value="reset"/>
</form>

welcomeAction的相關程式碼:
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request,
HttpServletResponse response) {
try{
HttpSession session=request.getSession();
String username=((welcomeActionForm)form).getUsername();
session.setAttribute("username","username");
//請注意我已經不去拿login頁面傳來的使用者名稱字,而直接使用了一個字串"username"!!!
}
catch(Exception e)
{
e.printStackTrace();
}
return(mapping.findForward("welcome"));


welcome.jsp的主要程式碼:
<%
String username=(String)session.getAttribute("username");

%>
%>
<p>user name is :<%=username%></p>

但是在welcome.jsp的顯示結果是:user name is:null

請問為什麼該session不能得到呢??

備註:如果在welcome上直接設定session,就可以正常顯示.同時.weblogic.xml設定sessiontimeout=-1.

相關文章