springMVC中使用HttpSession和httpServletRequest的使用与区别

 

@RequestMapping("login")

public String login(String username,String pwd ,HttpSession session,HttpServletRequest request) throws Exception{
System.out.println(username+"---------------"+pwd);
Long flag = loginService.isLoginSuccess(username, pwd);
if(flag!=null) {
session.setAttribute("username", username);
//request.setAttribute("usernamex", username);
List<OneMenu> oneMenuList = loginService.selectMenusById(flag);
session.setAttribute("oneMenuList", oneMenuList);
//request.setAttribute("oneMenuList", oneMenuList);
return "/pages/admin/index.jsp";
}
else {
return "redirect:/pages/admin/login.jsp";
}
}

1. request不能用return redirect:,(重定向) ,只能用转发,否则取不到值

2.request用转发,但用到<frame src= 的子文件中也不能取到值

 

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isELIgnored="false"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

 

<c:forEach items="${sessionScope.oneMenuList }" var="OneMenu"> 
<dd>
<div class="title"> <span><img src="static/images/leftico03.png" /></span>${OneMenu.oneName}</div>
<ul class="menuson">
<c:forEach items="${pageScope.OneMenu.twoMenuList }" var ="twoMenu">
<li>
<div class="header"> <cite></cite> <a href="${twoMenu.twoUrl }" target="rightFrame">${twoMenu.twoName }</a> <i></i> </div>
</li>
</c:forEach>
</ul>
</dd>
</c:forEach>

<!-- 通过request域来保存数据 -->
通过request域来保存数据:${requestScope.user }
<hr>
<!-- 通过Model封装数据 -->
通过Model封装数据:${requestScope.username }
<hr>
通过Map集合封装数据:${requestScope.aaa }

 

posted @ 2020-10-13 12:09  smileall  阅读(553)  评论(0)    收藏  举报