`
阅读更多
二话不说,直接进入主题!

代码[size=x-small][/size]
package cn.u6.contoller;

import java.sql.SQLException;
import java.util.List;

import javax.annotation.Resource;

import org.apache.log4j.Logger;
import org.springframework.jdbc.UncategorizedSQLException;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.SessionAttributes;
import org.springframework.web.bind.support.SessionStatus;

import cn.u6.contoller.bean.UserBean;
import cn.u6.exception.MVCException;
import cn.u6.model.User;
import cn.u6.service.UserService;
import cn.u6.validator.UserValidator;

@Controller
@SessionAttributes("user")
public class UserController {

protected static Logger logger = Logger
.getLogger("cn.u6.contoller.UserController");

@Resource(name = "userService")
private UserService userService;

/**
* 登录
*/

@RequestMapping(value = "/user/login.do", method = RequestMethod.POST)

public String login(@ModelAttribute("user")UserBean user, BindingResult result,
SessionStatus status, Model model) throws Exception {
logger.debug("Received request to edit existing person");

// 验证用户输入信息
new UserValidator().validate(user, result);
try {
if (result.hasErrors()) {
return "redirect:/";
} else {
int id = userService.login(user.getUserName(), user
.getUserName(), user.getPassword());
switch (id) {
case -1:
model.addAttribute("message", "用户名错误!");
return "login";
case -2:
model.addAttribute("message", "密码错误!");
return "login";
default:
status.setComplete();
model.addAttribute("user", user);
// Session
// session
return "main";
}
}
} catch (UncategorizedSQLException e) {
logger.info("数据库连接出错:" + e.getMessage());
throw new SQLException("数据库连接出错:" + e.getMessage());
} catch (SQLException e) {
logger.info("数据库查询出错:" + e.getMessage());
throw new SQLException("数据库查询出错:" + e.getMessage());
} catch (NumberFormatException e) {
logger.info("数据转换出错:" + e.getMessage());
throw new NumberFormatException("数据转换出错:" + e.getMessage());
} catch (Exception e) {
logger.info("系统出错:" + e.toString() + " ----" + e.getMessage());
throw new MVCException("系统出错:" + e.getMessage());
}
}
}

这种情况下会运行之后发现以下错误:
Session attribute 'user' required - not found in session.

解决方法:
/**
* 登录
*/

@RequestMapping(value = "/user/login.do", method = RequestMethod.POST)
@ModelAttribute("user")
public String login(UserBean user, BindingResult result,
SessionStatus status, Model model) throws Exception
将这句话放到方法上面之后问题解决,本人在这个问题上花了一个上午...各位看客有什么其他的建议或方法可以评论评论~
分享到:
评论

相关推荐

    Srpingmvc 框架所需的全部jar

    Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,专门用于构建 MVC(Model-View-Controller)架构的 Web 应用程序。在这个压缩包中,包含了运行 Spring MVC 应用所需的核心库和其他...

    jersey+spring+srpingmvc实现上传

    【标题】:“jersey+spring+springmvc实现上传” 在Web开发中,文件上传功能是一项常见且重要的任务。本示例将介绍如何结合Jersey、Spring和Spring MVC框架来实现这一功能。Jersey是Java RESTful Web服务的实现,而...

    srpingmvc+hibernate集成

    SpringMVC和Hibernate是两种非常流行的Java开发框架,它们在企业级应用开发中扮演着重要角色。SpringMVC是Spring框架的一部分,专门用于构建Web应用程序的Model-View-Controller(MVC)架构,而Hibernate是一个对象...

    java SrpingMVC图书管理系统

    《Java SpringMVC 图书管理系统实现详解》 Java SpringMVC 图书管理系统是一个基于Web的综合性应用,旨在高效管理图书信息,提供用户友好的界面,同时融入了人脸识别和QQ登录等创新功能,使得系统的安全性和用户...

    dubbo+zookpeer+srpingmvc

    在IT行业中,构建高效、可扩展的企业级应用是至关重要的,而"Dubbo + ZooKeeper + SpringMVC"的组合正是为了实现这一目标的一种常见架构模式。这个资源集合提供了所有必要的组件,包括jar包和开发环境,帮助开发者...

    spring+srpingmvc+mybatis+cxf

    SSM框架是Java Web开发中常用的三大组件:Spring、SpringMVC和Mybatis的组合,它们各自负责不同的职责,协同工作以构建出高效、松耦合的Web应用程序。在这个项目中,开发者进一步集成了Apache CXF框架,用于发布Web...

    spring+srpingMvc+mybatis简单权限系统

    【Spring+SpringMVC+MyBatis简单权限系统】是一个基于Java技术栈的Web应用程序,用于实现基础的用户权限管理。这个系统的核心是利用Spring框架的依赖注入(DI)和面向切面编程(AOP)特性,SpringMVC作为 MVC 模式的...

    srpingMVC+hessian4整合jar包,工程里拷出来的,绝对可用

    Spring MVC 和 Hessian 整合是企业级应用中常见的技术组合,主要用于构建分布式服务。Spring MVC 是一个基于模型-视图-控制器(MVC)设计模式的轻量级 web 框架,而 Hessian 是一种高效的远程方法调用(RPC)协议,...

    srpingmvc MyBaties 项目

    SpringMVC和MyBatis是两个非常重要的Java Web开发框架,它们在企业级应用中有着广泛的应用。...接下来,我们将深入探讨这两个框架在项目中的整合与应用。 1. SpringMVC框架: - 概述:SpringMVC是Spring框架的核心...

    springMVC+mysql实现的Java web学生宿舍管理系统源码.zip

    环境: eclipse :配置tomcat:http://programmer.ischoolbar.com/index.php/article/article/id/10.html jdk7和jdk8都可以,其他的没试过 tomcat7 MySQL:管理工具:navicat:...

    spring+srpingmvc+hibernate实现动态ztree生成树状图效果

    在本文中,我们将深入探讨如何使用Spring、SpringMVC和Hibernate框架来动态生成ZTree树状图效果。ZTree是一款强大的JavaScript实现的树形插件,适用于构建网站导航、组织结构展示等多种场景。以下是实现这一功能的...

    用Maven整合SpringMVC+Spring+Hibernate 案例

    该资源是我参照别人的博客来搭建的环境,myeclipse 10.6+maven3+srping+srpingmvc+hibernate4.1+mysql5.5,博客地址:http://blog.csdn.net/liu1220356497/article/details/47701565,该博客是我转载原来的博客主的,...

    dwr和spring mvc集成的一个package

    这个jar是很难找的,是dwr在spring环境里面,使用注解的必须包,希望对你有用。

    Spring In Action SpringMVC 提交表单

    《Spring In Action: SpringMVC 提交表单详解》 ...它为开发者提供了构建高性能、易于测试的Web应用程序的结构。本篇文章将深入探讨SpringMVC如何处理表单提交,以及在实际开发中的应用技巧。 一、SpringMVC概述 ...

    污水平台技术方案

    使用mysql为数据库,开发框架为srpingMVC+mybatis,前台是jsp

    教程所需的lib.rar

    本资源为教程【Idea2020.2.3创建SrpingMVC(基于Tomcat 9.0.39)——Hello World 程序】所需的lib包,若有其他用途,概不负责。若有其他用途,概不负责。若有其他用途,概不负责。

    springmvc的依赖包.zip

    **srpingmvc功能** 1. Controller为中心完成对系统流程的控制管理 2. 从请求中搜集数据 3. 对传入的参数进行验证 4. 将结果返回给视图 5. 针对不同的视图提供不同的解决方案 6. 针对jsp视图...

    Java_SpringMVC_Tutorial

    SrpingMVC Struts2 优势 国内市场情况 有大量用户,一般新项目启动都会选用 SpringMVC 有部分老用户,老项目组,由于习惯了,一直在使用。 国内情况,SpringMVC 的使用率已经超过 Struts2 框架入口 基于 Servlet ...

    springboot:示例(Spring Boot + Spring MVC + Spring Security + Thymeleaf + Web罐)

    弹簧靴在该项目中,您可以看到如何在Spring Boot应用程序中配置spring安全性(通过UserDetailsS​​ervice实现)和thymeleaf模板引擎,以及如何在网页上使用spring security名称空间。

    阿里dubbo出错提示Thread pool is EXHAUSTED问题及解决方法

    在上面的例子中,我们可以看到,系统使用srpingMvc+spring+mybatis+dubbo的微服务架构,检查日志看到Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED!错误信息。 二、解决...

Global site tag (gtag.js) - Google Analytics