web应用的MVC模型中使用bean的注意事项

如下面这段代码:

package test;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

public class TestWithBean extends HttpServlet {
	
	protected void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {	
		HttpSession session=request.getSession(true);
		
		Bean bean= (Bean) session.getAttribute("bean");
		if (bean==null) {
			bean=new Bean();
		}
		
		bean.setSessionId(session.getId());
		bean.setSessionIsNew(session.isNew());
		bean.setSessionLastAccessedTime(session.getLastAccessedTime());
		bean.setSessionMaxInactiveInterval(session.getMaxInactiveInterval());
		bean.setRequestedSessionIdFromCookie(request.isRequestedSessionIdFromCookie());
		bean.setRequestedSessionIdFromURL(request.isRequestedSessionIdFromURL());
		bean.setRequestedSessionIdValid(request.isRequestedSessionIdValid());
		bean.setSessionCreationTime(session.getCreationTime());
		
		session.setAttribute("bean",bean);
		
		String jspAddress="/WEB-INF/share/show.jsp";
		RequestDispatcher dispatcher=request.getRequestDispatcher(jspAddress);
		dispatcher.forward(request,response);
	}

}

package test;

public class Bean {
	String sessionId;
	long sessionCreationTime;
	long sessionLastAccessedTime;
	int sessionMaxInactiveInterval;
	boolean sessionIsNew;
	boolean requestedSessionIdFromCookie;
	boolean requestedSessionIdFromURL;
	boolean requestedSessionIdValid;
	
	public void setSessionId(String sessionId){
		this.sessionId = sessionId; 
	}
	
	public void setSessionCreationTime(long sessionCreationTime){
		this.sessionCreationTime = sessionCreationTime;
	}
	
	public void setSessionLastAccessedTime(long sessionLastAccessedTime){
		this.sessionLastAccessedTime = sessionLastAccessedTime;
	}
	
	public void setSessionMaxInactiveInterval(int sessionMaxInactiveInterval){
		this.sessionMaxInactiveInterval = sessionMaxInactiveInterval;
	}

	public void setRequestedSessionIdValid(boolean requestedSessionIdValid) {
		this.requestedSessionIdValid = requestedSessionIdValid;
	}
	

	public void setSessionIsNew(boolean sessionIsNew) {
		this.sessionIsNew = sessionIsNew;
	}

	public void setRequestedSessionIdFromCookie(boolean requestedSessionIdFromCookie) {
		this.requestedSessionIdFromCookie = requestedSessionIdFromCookie;
	}
	
	public void setRequestedSessionIdFromURL(boolean requestedSessionIdFromURL) {
		this.requestedSessionIdFromURL = requestedSessionIdFromURL;
	}
	
	public boolean isSessionIsNew() {
		return sessionIsNew;
	}
	
	public boolean isRequestedSessionIdFromCookie() {
		return requestedSessionIdFromCookie;
	}

	public boolean isRequestedSessionIdFromURL() {
		return requestedSessionIdFromURL;
	}

	public boolean isRequestedSessionIdValid() {
		return requestedSessionIdValid;
	}

	public String getSessionId() {
		return sessionId;
	}

	public long getSessionCreationTime() {
		return sessionCreationTime;
	}

	public long getSessionLastAccessedTime() {
		return sessionLastAccessedTime;
	}

	public int getSessionMaxInactiveInterval() {
		return sessionMaxInactiveInterval;
	}

}
<!DOCTYPE HTML PUBLIC  "-//W3C//DTD HTML Transitional//EN" >
<jsp:useBean id="bean" class="test.Bean" scope="session"/>
<html>
	<head>  
		<title>Test</title>  
	</head>  
	<body>  
		<ul>Session Information 
			<li>SessionId:<jsp:getProperty property="sessionId" name="bean"/>
			<li>SessionCreationTime:<jsp:getProperty property="sessionCreationTime" name="bean"/>
			<li>SessionLastAccessedTime:<jsp:getProperty property="sessionLastAccessedTime" name="bean"/>
			<li>SessionMaxInactiveInterval:<jsp:getProperty property="sessionMaxInactiveInterval" name="bean"/>
			<li>SessionIsNew:<jsp:getProperty property="sessionIsNew" name="bean"/>
		</ul> 
		<ul>Request Information  
			<li>IsRequestedSessionIdFromCookie:<jsp:getProperty property="requestedSessionIdFromCookie" name="bean"/>
			<li>IsRequestedSessionIdFromURL:<jsp:getProperty property="requestedSessionIdFromURL" name="bean"/>
			<li>IsRequestedSessionIdValid:<jsp:getProperty property="requestedSessionIdValid" name="bean"/>
		</ul>
	</body>
</html>  
可以看到jsp页面中用到了Bean,请注意,id那里和servlet中的session.setAttribute方法的第一个参数相同。如果不同的话,就不会得到正确的结果。我刚开始让id那里和第一个参数不一样,结果会得到bean是空的错误。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值