0 0

spring mvc登陆功能如何实现较好?5

如题,使用什么样的方式实现登陆功能更好?

我现在使用session,但是有个问题就是,在每个controller的每个方法中,都需要把session取出来,获取登陆后保存的用户信息,然后添加到ModelAndView中。
重复代码很多,该如何解决?

请问大家该如何实现较好?

问题补充:再次申明一下,我的问题是在controller中,需要在每个方法中把session的用户信息加到ModelAndView中,从而到view(velocity)中绑定,我想避免这些重复工作。而不是如何在spring mvc中获取session中的用户信息,感谢大家!
 
2013年5月16日 00:51

12个答案 按时间排序 按投票排序

0 0

采纳的答案

1.用springmvc的拦截器,获取用户信息。
2.建一个baseController,然后其他的controller继承这个类

2013年5月16日 16:29
0 0

都放sessssion了,所有的页面都可以直接取到啊${session}

2013年10月29日 22:58
0 0

建议使用安全框架来做权限管理,比较流行的是shiro和spring security。这样才能保证其安全性。

2013年10月09日 13:01
0 0

直接 用开源的apache shiro框架,java里面很多都有现成的解决方案,直接用就是
http://www.kxikx.com/nosm/response!input.action?parentId=8ab20e8f413e711e01413e72a2b10002

2013年9月24日 11:39
0 0

session不是登录后request.getSession().setAttribute()之后,每次调用都从request.getSession()中取吗?为什么要每次都保存呢?我现在的项目中也是用的spring MVC,没有像楼主这样用session啊!

2013年9月04日 17:20
0 0

写个Tag就行了
在jsp中调用tag 输出用户名等
如下:
<session:user value="${session.user.name}"></session:user>

2013年7月24日 13:33
0 0

      

2013年7月09日 13:20
0 0

既然用spring mvc了,楼主为何不尝试下使用spring security呢。

2013年5月30日 16:17
0 0

增加个controller基类!

2013年5月20日 23:39
0 0

使用过滤器

2013年5月16日 09:09
0 0

这个不简单么  
注入就行
比如说你要注入的是账号的Id  参数名字是accountId
在登录的controller中注入要保存的信息  注入到ModelMap 中   
方法如下
在controller的最顶部加上@SessionAttributes({"accountId")

然后在登录方法里  把accountId 放到ModelMap 中
modelMap.put("accountId",xxx);

然后  如果你在某个业务controller中如果要用到accountId
只需要也在当前这个controller的类顶部也加上加上@SessionAttributes({"accountId")

然后在你的方法的参数上写上 @ModelAttribute("accountId") String accountId
那么这个accountId就取到值了

2013年5月16日 08:43
0 0

可以写一个abstract类其里面有一个属性是protected的用户实体,在其构造方法中将session中的用户信息取出来保存在用户实体中,然后所有的controller继承该类就可以用在子类中用this直接使用,下面是伪代码:

import org.apache.struts2.ServletActionContext;

import com.opensymphony.xwork2.ActionSupport;

public abstract class SuperAction extends ActionSupport {
	
	private static final long serialVersionUID = 1L;
	
	protected User user ;

	protected SuperAction() {
		user = (User)ServletActionContext.getRequest().getSession().getAttribute("user");
	}
}

2013年5月16日 08:27

相关推荐

    bbs.zip_Spring mvc bbs_hibernate bbs_spring mvc_spring mvc hiber

    《Spring MVC + Hibernate 实现BBS论坛系统详解》 在当今的互联网开发中,Spring MVC 和 Hibernate 是两个非常重要的框架,它们在企业级应用开发中起着关键作用。本项目"Spring MVC bbs"结合了Spring3和Hibernate,...

    spring mvc中启动netty

    将Spring MVC与Netty结合,可以充分利用Netty的性能优势,同时利用Spring MVC的MVC架构和丰富的功能。这需要对两者都有深入的理解,并且在实现过程中需要关注性能、错误处理和日志记录。在实际项目中,这种集成方式...

    spring mvc jar包

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分。...此外,Spring MVC 3.2.2.RELEASE 版本是较旧的,对于新的项目,建议使用更高版本的 Spring,以获得更好的性能和更多的功能。

    spring mvc+hibernate+spring完整配置步骤

    同时,Spring MVC的注解配置使得开发更加简便,而Struts2往往需要较多的XML配置。 Spring MVC处理AJAX请求时,可以直接返回数据,通过`@ResponseBody`注解,框架会自动将对象转换为JSON格式,便于前端处理。这简化...

    spring mvc测试样例,使用spring4.1开发

    在这个测试样例中,我们看到是基于 Spring 4.1 版本的实现,这是一个较早但仍然广泛使用的版本,它包含了多项关键改进和优化。 1. **MVC架构**:Spring MVC 提供了一个灵活的MVC框架,允许开发者根据需求定制各个...

    spring mvc学习笔记

    在 Spring MVC 中,可以通过多种方式实现 HandlerMapping,例如通过 URL 映射、注解映射等。 - 上述示例中的 `SimpleUrlHandlerMapping` 就是一种简单的 URL 映射方式,通过配置文件定义了具体的 URL 路径到控制...

    Spring3.1.4 mvc实例

    Spring3.1.4 版本是 Spring 框架的一个较早版本,但仍然包含了许多核心功能,能够帮助开发者构建高效、灵活的 Web 应用。Spring MVC 提供了模型与视图的分离,使得开发者可以专注于业务逻辑,而无需过多关注视图的...

    Spring MVC MyBatis

    疯狂软件SSM框架的用法,...本书适合有较好的Java编程基础,JSP、Servlet、JDB C基础,Spring框架基础的读者,尤其适合于对Spring MVC和MyBatis了解不够深入,或对Spring MVC+MyBatis整合开发不太熟悉的开发人员阅读

    spring mvc+ajax 文件上传

    本示例探讨的是如何利用Spring MVC后端框架与前端的Ajax技术来实现高效的文件上传,相较于传统的表单提交方式,这种方法具有无刷新、用户体验更佳的优势。以下是关于这个主题的详细讲解。 首先,我们需要理解Spring...

    Spring MVC Controller配置方式

    Spring MVC 是一个基于 Spring 框架的轻量级 Web 开发组件,它为开发者提供了构建 Web 应用程序的强大工具。在 Spring MVC 中,Controller ...了解这些配置方式有助于我们更好地理解和使用 Spring MVC 构建 Web 应用。

    mvc框架性比较

    **Java MVC 框架性能比较** ...而Struts 2的性能短板主要在于其复杂的实现,而Spring MVC则在性能和开发效率上找到了较好的平衡。在选择框架时,开发者应根据项目的性能需求、团队的技术栈以及可获得的资源来做出决策。

    79.基于Spring mvc的Bug管理系统的设计与实现 -基于JSP+ Mysql+Spring设计与实现(可运行源码+数据

    79.基于Spring mvc的Bug管理系统的设计与实现 |基于JSP+ Mysql+Spring设计与实现(可运行源码+数据库+lw)毕业设计管理系统计算机软件工程大数据专业 可运行源码(含数据库脚本)+开发文档+lw(高分毕设项目) java...

Global site tag (gtag.js) - Google Analytics