二话不说,直接进入主题!
代码[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
将这句话放到方法上面之后问题解决,本人在这个问题上花了一个上午...各位看客有什么其他的建议或方法可以评论评论~
分享到:
相关推荐
Spring MVC 是一个基于 Java 的轻量级 Web 开发框架,它是 Spring 框架的一部分,专门用于构建 MVC(Model-View-Controller)架构的 Web 应用程序。在这个压缩包中,包含了运行 Spring MVC 应用所需的核心库和其他...
【标题】:“jersey+spring+springmvc实现上传” 在Web开发中,文件上传功能是一项常见且重要的任务。本示例将介绍如何结合Jersey、Spring和Spring MVC框架来实现这一功能。Jersey是Java RESTful Web服务的实现,而...
SpringMVC和Hibernate是两种非常流行的Java开发框架,它们在企业级应用开发中扮演着重要角色。SpringMVC是Spring框架的一部分,专门用于构建Web应用程序的Model-View-Controller(MVC)架构,而Hibernate是一个对象...
《Java SpringMVC 图书管理系统实现详解》 Java SpringMVC 图书管理系统是一个基于Web的综合性应用,旨在高效管理图书信息,提供用户友好的界面,同时融入了人脸识别和QQ登录等创新功能,使得系统的安全性和用户...
在IT行业中,构建高效、可扩展的企业级应用是至关重要的,而"Dubbo + ZooKeeper + SpringMVC"的组合正是为了实现这一目标的一种常见架构模式。这个资源集合提供了所有必要的组件,包括jar包和开发环境,帮助开发者...
SSM框架是Java Web开发中常用的三大组件:Spring、SpringMVC和Mybatis的组合,它们各自负责不同的职责,协同工作以构建出高效、松耦合的Web应用程序。在这个项目中,开发者进一步集成了Apache CXF框架,用于发布Web...
【Spring+SpringMVC+MyBatis简单权限系统】是一个基于Java技术栈的Web应用程序,用于实现基础的用户权限管理。这个系统的核心是利用Spring框架的依赖注入(DI)和面向切面编程(AOP)特性,SpringMVC作为 MVC 模式的...
Spring MVC 和 Hessian 整合是企业级应用中常见的技术组合,主要用于构建分布式服务。Spring MVC 是一个基于模型-视图-控制器(MVC)设计模式的轻量级 web 框架,而 Hessian 是一种高效的远程方法调用(RPC)协议,...
SpringMVC和MyBatis是两个非常重要的Java Web开发框架,它们在企业级应用中有着广泛的应用。...接下来,我们将深入探讨这两个框架在项目中的整合与应用。 1. SpringMVC框架: - 概述:SpringMVC是Spring框架的核心...
环境: eclipse :配置tomcat:http://programmer.ischoolbar.com/index.php/article/article/id/10.html jdk7和jdk8都可以,其他的没试过 tomcat7 MySQL:管理工具:navicat:...
在本文中,我们将深入探讨如何使用Spring、SpringMVC和Hibernate框架来动态生成ZTree树状图效果。ZTree是一款强大的JavaScript实现的树形插件,适用于构建网站导航、组织结构展示等多种场景。以下是实现这一功能的...
该资源是我参照别人的博客来搭建的环境,myeclipse 10.6+maven3+srping+srpingmvc+hibernate4.1+mysql5.5,博客地址:http://blog.csdn.net/liu1220356497/article/details/47701565,该博客是我转载原来的博客主的,...
这个jar是很难找的,是dwr在spring环境里面,使用注解的必须包,希望对你有用。
《Spring In Action: SpringMVC 提交表单详解》 ...它为开发者提供了构建高性能、易于测试的Web应用程序的结构。本篇文章将深入探讨SpringMVC如何处理表单提交,以及在实际开发中的应用技巧。 一、SpringMVC概述 ...
使用mysql为数据库,开发框架为srpingMVC+mybatis,前台是jsp
本资源为教程【Idea2020.2.3创建SrpingMVC(基于Tomcat 9.0.39)——Hello World 程序】所需的lib包,若有其他用途,概不负责。若有其他用途,概不负责。若有其他用途,概不负责。
**srpingmvc功能** 1. Controller为中心完成对系统流程的控制管理 2. 从请求中搜集数据 3. 对传入的参数进行验证 4. 将结果返回给视图 5. 针对不同的视图提供不同的解决方案 6. 针对jsp视图...
SrpingMVC Struts2 优势 国内市场情况 有大量用户,一般新项目启动都会选用 SpringMVC 有部分老用户,老项目组,由于习惯了,一直在使用。 国内情况,SpringMVC 的使用率已经超过 Struts2 框架入口 基于 Servlet ...
弹簧靴在该项目中,您可以看到如何在Spring Boot应用程序中配置spring安全性(通过UserDetailsService实现)和thymeleaf模板引擎,以及如何在网页上使用spring security名称空间。
在上面的例子中,我们可以看到,系统使用srpingMvc+spring+mybatis+dubbo的微服务架构,检查日志看到Caused by: java.util.concurrent.RejectedExecutionException: Thread pool is EXHAUSTED!错误信息。 二、解决...