当前位置: 代码迷 >> Java Web开发 >> spring mvc session管理的有关问题
  详细解决方案

spring mvc session管理的有关问题

热度:748   发布时间:2016-04-16 21:32:07.0
spring mvc session管理的问题
我在service层声明的事务边界,controller层调用service,感觉每次service函数结束,spring都自动关闭了session,如何实现每次请求共用一个session呢?应该在dao层声明事务边界吗?
[code=java@Service("homeService")
@Transactional
public class HomeService implements IHomeService {

//内部保存dao对象
@Inject
private BoardDao boardDao;
@Inject
private UserDao userDao;
@Inject
private PostDao postDao;


@Override
public void publishPost() {
// TODO Auto-generated method stub

//测试][/code]
[code=java//声明为controller,让spring自动注册并且装配属性
@Controller
public class HomeController {

@Inject
private IHomeService homeService;


@RequestMapping("/jsp/home")
public String showHomePage(Map<String , Object> model,
HttpSession session,
HttpServletResponse response)
{
User user=new User();
if(session.getAttribute("currentUser")!=null){
user=homeService.getUserByUsername((String)session.getAttribute("currentUser"));
}

//返回当前版块board对象,默认版块
Board board=null;
if(session.getAttribute("currentBoard")!=null){
System.out.println("currentBoard:"+(String)session.getAttribute("currentBoard"));
board=homeService.getBoardByName((String)session.getAttribute("currentBoard"));
}else {
board=homeService.getBoardByName("java");
}
//返回版块列表
List<Board> boards=homeService.getAllBoards();
//返回当前版块版主列表
Set<Moderator> moderators=board.getModerators();
//返回默认版块java关联的所有帖子

Set<Post> posts=board.getPosts();
model.put("moderator_Set", moderators);
model.put("current_board", board);

model.put("board_list", boards);


model.put("return_user", user);
model.put("post_Set", posts);
return "home";
}
}
][/code]
------解决思路----------------------
引用:
Quote: 引用:

别用  opensessioninview  那个性能 很差,最好是 手动查。 一次请求就是 :客户端一个request  ---》服务端逻辑处理得到一个response----》 response 到 客户端-----》客户端解析response的信息 展现



好的,新手的日子可真难熬啊,,,,,,,
很快就 过来了,好好 干
  相关解决方案