-
spring mvc登陆功能如何实现较好?5
如题,使用什么样的方式实现登陆功能更好?
我现在使用session,但是有个问题就是,在每个controller的每个方法中,都需要把session取出来,获取登陆后保存的用户信息,然后添加到ModelAndView中。
重复代码很多,该如何解决?
请问大家该如何实现较好?
问题补充:再次申明一下,我的问题是在controller中,需要在每个方法中把session的用户信息加到ModelAndView中,从而到view(velocity)中绑定,我想避免这些重复工作。而不是如何在spring mvc中获取session中的用户信息,感谢大家!2013年5月16日 00:51
12个答案 按时间排序 按投票排序
-
采纳的答案
1.用springmvc的拦截器,获取用户信息。
2.建一个baseController,然后其他的controller继承这个类2013年5月16日 16:29
-
直接 用开源的apache shiro框架,java里面很多都有现成的解决方案,直接用就是
http://www.kxikx.com/nosm/response!input.action?parentId=8ab20e8f413e711e01413e72a2b100022013年9月24日 11:39
-
session不是登录后request.getSession().setAttribute()之后,每次调用都从request.getSession()中取吗?为什么要每次都保存呢?我现在的项目中也是用的spring MVC,没有像楼主这样用session啊!
2013年9月04日 17:20
-
写个Tag就行了
在jsp中调用tag 输出用户名等
如下:
<session:user value="${session.user.name}"></session:user>2013年7月24日 13:33
-
这个不简单么
注入就行
比如说你要注入的是账号的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
-
可以写一个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是一种基于Java的实现了MVC设计模式的请求驱动类型的轻量级Web框架,使用了IoC容器,支持RESTful风格的应用程序开发。Spring MVC通过分离模型(Model)、视图(View)和控制器(Controller)来简化Web开发...
- **轻量级且易于理解**:Spring MVC 通过其简单的配置和较少的学习曲线,使得开发者可以快速上手。 - **高性能**:相比于其他框架如 Struts2,Spring MVC 在设计上更加注重性能优化。 - **高度灵活**:Spring MVC ...
《Spring MVC + Hibernate 实现BBS论坛系统详解》 在当今的互联网开发中,Spring MVC 和 Hibernate 是两个非常重要的框架,它们在企业级应用开发中起着关键作用。本项目"Spring MVC bbs"结合了Spring3和Hibernate,...
将Spring MVC与Netty结合,可以充分利用Netty的性能优势,同时利用Spring MVC的MVC架构和丰富的功能。这需要对两者都有深入的理解,并且在实现过程中需要关注性能、错误处理和日志记录。在实际项目中,这种集成方式...
Spring MVC 是一款广泛使用的 Java Web 开发框架,它为构建基于模型-视图-控制器(MVC)架构的应用程序提供了一种简洁...通过深入理解其核心组件和工作流程,开发者可以更好地利用 Spring MVC 构建高质量的 Web 应用。
1. **与Spring MVC深度整合**:Spring Web Flow 2.0不再是独立的框架,而是作为Spring MVC的扩展出现,这意味着开发者可以在同一个项目中混合使用Spring MVC和Spring Web Flow,实现更为灵活的Web应用架构设计。...
### Spring 3.0 MVC中文教程知识点概览 #### 一、Spring 3.0 MVC框架简介 **Spring 3.0 MVC** 是Spring...以上是对Spring 3.0 MVC中文教程的一些关键知识点的总结,希望能够帮助读者更好地理解和使用Spring MVC框架。
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的重要组成部分。...此外,Spring MVC 3.2.2.RELEASE 版本是较旧的,对于新的项目,建议使用更高版本的 Spring,以获得更好的性能和更多的功能。
1. **学习难度低**:相较于 Struts2,Spring MVC 的学习曲线更为平缓。Struts2 中存在大量不常用的功能,这增加了学习成本。Spring MVC 专注于提供实用的核心功能,简化了开发过程。 2. **易于编写高性能代码**:...
相较于之前的版本,Spring 3.0 MVC引入了许多重要的改进和新特性,使其成为企业级Web开发的首选框架之一。 - **Spring MVC作为Web组件**: Spring MVC是Spring框架的一个模块,专门用于Web层的开发。它提供了一种...
同时,Spring MVC的注解配置使得开发更加简便,而Struts2往往需要较多的XML配置。 Spring MVC处理AJAX请求时,可以直接返回数据,通过`@ResponseBody`注解,框架会自动将对象转换为JSON格式,便于前端处理。这简化...
在这个测试样例中,我们看到是基于 Spring 4.1 版本的实现,这是一个较早但仍然广泛使用的版本,它包含了多项关键改进和优化。 1. **MVC架构**:Spring MVC 提供了一个灵活的MVC框架,允许开发者根据需求定制各个...
在 Spring MVC 中,可以通过多种方式实现 HandlerMapping,例如通过 URL 映射、注解映射等。 - 上述示例中的 `SimpleUrlHandlerMapping` 就是一种简单的 URL 映射方式,通过配置文件定义了具体的 URL 路径到控制...
Spring3.1.4 版本是 Spring 框架的一个较早版本,但仍然包含了许多核心功能,能够帮助开发者构建高效、灵活的 Web 应用。Spring MVC 提供了模型与视图的分离,使得开发者可以专注于业务逻辑,而无需过多关注视图的...
1. **简洁易用**:Spring MVC 学习成本相对较低,相较于 Struts2,它去除了许多不必要的复杂性。 2. **高性能**:Spring MVC 在设计时考虑到了性能问题,编写高性能的应用程序变得更为容易。 3. **灵活性**:Spring ...
疯狂软件SSM框架的用法,...本书适合有较好的Java编程基础,JSP、Servlet、JDB C基础,Spring框架基础的读者,尤其适合于对Spring MVC和MyBatis了解不够深入,或对Spring MVC+MyBatis整合开发不太熟悉的开发人员阅读
本示例探讨的是如何利用Spring MVC后端框架与前端的Ajax技术来实现高效的文件上传,相较于传统的表单提交方式,这种方法具有无刷新、用户体验更佳的优势。以下是关于这个主题的详细讲解。 首先,我们需要理解Spring...