import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
//获取request对象
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes()).getRequest();
//获取session对象
HttpSession session = request.getSession(true);
应用在一些变量需要做全局变量的时候。
如:购物车的数量
int shopcartnum = ...............;
session.setAttribute("shopcartnum", shopcartnum);
在jsp中获取全局变量
<div>${shopcartnum}</div>
//通过监听器获取session 和request对象我们直接看代码
import javax.servlet.ServletRequestEvent;
import javax.servlet.ServletRequestListener;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSessionEvent;
import javax.servlet.http.HttpSessionListener;
import org.springframework.web.context.ContextLoader;
import org.springframework.web.context.WebApplicationContext;
import com.ece.ec.service.SystemConfig;
public class ChannelListener implements HttpSessionListener, ServletRequestListener{
@Override
public void requestDestroyed(ServletRequestEvent arg0) {
}
@Override
public void requestInitialized(ServletRequestEvent event) {
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext();
SystemConfig config = (SystemConfig)wac.getBean("systemConfig");
HttpServletRequest request = (HttpServletRequest)event.getServletRequest();
request.setAttribute("channelId", config.getChannel());
}
@Override
public void sessionCreated(HttpSessionEvent arg0) {
}
@Override
public void sessionDestroyed(HttpSessionEvent arg0) {
}
}