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

相关推荐

    Spring MVC 教程快速入门 深入分析

    Spring MVC是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了IoC容器,支持RESTful风格的应用程序开发。Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发...

    spring mvc

    - **轻量级且易于理解**:Spring MVC 通过其简单的配置和较少的学习曲线,使得开发者可以快速上手。 - **高性能**:相比于其他框架如 Struts2,Spring MVC 在设计上更加注重性能优化。 - **高度灵活**:Spring MVC ...

    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深入总结

    Spring MVC 是一款广泛使用的 Java Web 开发框架,它为构建基于模型-视图-控制器(MVC)架构的应用程序提供了一种简洁...通过深入理解其核心组件和工作流程,开发者可以更好地利用 Spring MVC 构建高质量的 Web 应用。

    spring mvc 教程

    1. **与Spring MVC深度整合**:Spring Web Flow 2.0不再是独立的框架,而是作为Spring MVC的扩展出现,这意味着开发者可以在同一个项目中混合使用Spring MVC和Spring Web Flow,实现更为灵活的Web应用架构设计。...

    spring3.0 MVC中文教程

    ### Spring 3.0 MVC中文教程知识点概览 #### 一、Spring 3.0 MVC框架简介 **Spring 3.0 MVC** 是Spring...以上是对Spring 3.0 MVC中文教程的一些关键知识点的总结,希望能够帮助读者更好地理解和使用Spring MVC框架。

    spring mvc jar包

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

    Spring MVC 中文资料

    1. **学习难度低**:相较于 Struts2,Spring MVC 的学习曲线更为平缓。Struts2 中存在大量不常用的功能,这增加了学习成本。Spring MVC 专注于提供实用的核心功能,简化了开发过程。 2. **易于编写高性能代码**:...

    spring3.0MVC中文教材

    相较于之前的版本,Spring 3.0 MVC引入了许多重要的改进和新特性,使其成为企业级Web开发的首选框架之一。 - **Spring MVC作为Web组件**: Spring MVC是Spring框架的一个模块,专门用于Web层的开发。它提供了一种...

    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 快速入门深入分析

    1. **简洁易用**:Spring MVC 学习成本相对较低,相较于 Struts2,它去除了许多不必要的复杂性。 2. **高性能**:Spring MVC 在设计时考虑到了性能问题,编写高性能的应用程序变得更为容易。 3. **灵活性**:Spring ...

    Spring MVC MyBatis

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

    spring mvc+ajax 文件上传

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

Global site tag (gtag.js) - Google Analytics