spring mvc-SpringMVC程序中的IllegalArgumentException

问题描述

SpringMVC程序中的IllegalArgumentException

http://blog.csdn.net/sujiangchichu/article/details/16962231

抛出的的异常:
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
严重: Servlet.service() for servlet baobaotao threw exception

java.lang.IllegalArgumentException

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.hibernate.property.BasicPropertyAccessor$BasicSetter.set(BasicPropertyAccessor.java:65)

at org.hibernate.tuple.entity.AbstractEntityTuplizer.setPropertyValues(AbstractEntityTuplizer.java:707)

at org.hibernate.tuple.entity.PojoEntityTuplizer.setPropertyValues(PojoEntityTuplizer.java:371)

at org.hibernate.persister.entity.AbstractEntityPersister.setPropertyValues(AbstractEntityPersister.java:4295)

at org.hibernate.engine.internal.TwoPhaseLoad.doInitializeEntity(TwoPhaseLoad.java:186)

at org.hibernate.engine.internal.TwoPhaseLoad.initializeEntity(TwoPhaseLoad.java:134)

at org.hibernate.loader.Loader.initializeEntitiesAndCollections(Loader.java:995)

at org.hibernate.loader.Loader.doQuery(Loader.java:874)

at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:289)

at org.hibernate.loader.Loader.doList(Loader.java:2438)

at org.hibernate.loader.Loader.doList(Loader.java:2424)

at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2254)

at org.hibernate.loader.Loader.list(Loader.java:2249)

at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:470)

at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)

at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)

at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1248)

at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)

at com.baobaotao.dao.UserDao.findUserByUserName(UserDao.java:34)

at com.baobaotao.service.UserService.findUserByUserName(UserService.java:22)

at com.baobaotao.web.LoginController.loginCheck(LoginController.java:35)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)

at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:176)

at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:436)

at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:424)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:567)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:849)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:454)

at java.lang.Thread.run(Thread.java:662)

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片

[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片

User.dao:
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
package com.baobaotao.dao;

import java.util.List;

import org.hibernate.Query;

import org.hibernate.Transaction;

import org.springframework.stereotype.Repository;

import com.baobaotao.domain.User;

@Repository //通过spring注解定义一个dao

public class UserDao extends BaseDAO{

public int getMatchCount(String userName, String passWord){
    String hql = "from User  user "
            + " where user.userName = ? "
            + " and user.passWord = ? " ;
    Query queryObject = getSession().createQuery(hql);
     queryObject.setParameter(0,userName );
     queryObject.setParameter(1, passWord);
     @SuppressWarnings("unchecked")
    List <User> list=queryObject.list();
       return list.size();
}
public User findUserByUserName(final String userName) {
    String hql = "from User  user "
            + " where user.userName = ? ";  

     Query queryObject = getSession().createQuery(hql);
    queryObject.setParameter(0,userName);
    User user=(User)queryObject.list().get(0);
    System.out.println(user);
return user ;  

}  

public void updateLoginInfo(User user) {
    Transaction ts=getSession().beginTransaction();
    getSession().update(user);
    ts.commit();
}

}

LoginController
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
package com.baobaotao.web;

import java.util.Date;

import javax.servlet.http.HttpServletRequest;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.web.bind.annotation.RequestMapping;

import org.springframework.web.bind.annotation.RequestParam;

import org.springframework.web.servlet.ModelAndView;

import com.baobaotao.domain.User;

import com.baobaotao.service.UserService;

//标注一个springmvc的Controller

@Controller

public class LoginController {

@Autowired

private UserService userService;

//负责处理index.html的请求
@RequestMapping(value="/index.html")
public String loginPage(){
    return "login";
}
//负责处理loginCheck.html的请求
@RequestMapping(value="/loginCheck.html")
public  ModelAndView loginCheck(HttpServletRequest request,  LoginCommand loginCommand){
    boolean isValidUser =
               userService.hasMatchUser(loginCommand.getUserName(),loginCommand.getPassword() );  

        if (!isValidUser) {
            return new ModelAndView("login", "error", "用户名或密码错误。");
        } else {
            User user = userService.findUserByUserName(loginCommand.getUserName());
            user.setLastIp(request.getLocalAddr());
            System.out.println(request.getLocalAddr());
            user.setLastVisit(new Date());
            System.out.println(new Date());
            userService.loginSuccess(user);

// request.getSession().setAttribute("user", user);

// return new ModelAndView("main");

ModelAndView mv = new ModelAndView();

mv.setViewName("main");

mv.addObject(user);

return mv;

}

}

}

UserService
[java] view plaincopyprint?在CODE上查看代码片派生到我的代码片
package com.baobaotao.service;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Service;

import com.baobaotao.dao.LoginLogDao;

import com.baobaotao.dao.UserDao;

import com.baobaotao.domain.LoginLog;

import com.baobaotao.domain.User;

@Service //将userbean标注为一个服务层的Bean

public class UserService {

@Autowired

private UserDao userDao;

@Autowired

private LoginLogDao loginLogDao;

public boolean hasMatchUser(String userName, String passWord){
    int matchCount = userDao.getMatchCount(userName, passWord);
    return matchCount>0;
}
public User findUserByUserName(String userName){
    return userDao.findUserByUserName(userName);
}
public void loginSuccess(User user){
    user.setCredits(5+user.getCredits());
    LoginLog loginLog = new LoginLog();
    loginLog.setUserId(user.getUserId());
    loginLog.setIp(user.getLastIp());
    loginLog.setLoginDate(user.getLastVisit());
    userDao.updateLoginInfo(user);
    loginLogDao.insertLoginLog(loginLog);
}

}

login.jsp
[html] view plaincopyprint?在CODE上查看代码片派生到我的代码片
<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

hehe

/c:if

" method="post">

用户名:

密 码:

求教,异常如何处理呢?
求教,异常如何处理呢?

时间: 2024-09-28 07:18:09

spring mvc-SpringMVC程序中的IllegalArgumentException的相关文章

ajax spring-ajax方式提交表单,spring mvc的Controller中怎么不能返回视图

问题描述 ajax方式提交表单,spring mvc的Controller中怎么不能返回视图 ajax请求到springmvc的Controller后,请求成功后为什么不跳转到jsp?就是这句:return new ModelAndView(""/sys/selectAccount"");不用ajax请求就可以 解决方案 使用ajax提交的请求 控制器中的重定向 或者请求转发都是无效的 ajax要跳转页面 只能把你要跳转的页面发送到前端 前端ajax的回调函数使用前

如何在MVC应用程序中删除上传的文件

在ASP.NET MVC应用程序中,怎样删除上传的文件. 由于上传时,真正文件是存储在应用程序某一目录,在数据库表中,只是存储其基本信息.在删除时,需要注意一下,由于没有事务可操作.Insus.NET的实现方法,是先删除物理路径的文件,然后是删除数据库记录. 打开数据库,写一个删除记录的存储过程: 在FileLibraryEntity.cs添加一个Delete的方法: 创建控制器: 先从数据库中获取记录信息,然后组合文件路径,判断是否存在,存在者删除之.最后是删除数据库记录. 创建视图:

ASP.NET MVC应用程序中如何展示RDLC报表

学习ASP.NET MVC这样久,在学习,练习与应用过程中,觉得很多知识与以前的ASP.NET多有区别,但是实现操作起来,细处又有许多相近的地方. 本篇跟大家一起学习RDLC报表,是在ASP.NET MVC应用程序中实现.在实现过程中,Insus.NET也将把一些常见的问题列举与提供解决方法. 首先我们在数据库准备数据,表,存储过程等,数据应用以前练习的数据,写一个存储过程好了. 在ASP.NET MVC应用程序目录结构下的Entities下,找到以前写好的一个Entity,添加一个方法即可:

如何在spring MVC的controller中实现将版本发布到外部可下载的网段服务器上

问题描述 如何在spring MVC的controller中实现将版本发布到外部可下载的网段服务器上 如何在spring MVC的controller中实现将版本发布到外部可下载的网段服务器上 如果地址不存在,则需创建新的目录 解决方案 vjbhgvhjvlhjbhjbhjbhjb

如何在MVC应用程序中使用Jquery_jquery

前言:转眼间,已经是11月中旬了,也从今天开始我要继续在研究ASP.NET MVC的细节用法,所以将这些读书笔记和个人心得写成博客,让大家也能学习到东西,我阅读的书籍是:ASP.NET MVC高级编程,下面我就说说MVC中如何使用JavaScript和Jquery.还有我们现在经常使用的Ajax. 1.Ajax初步介绍 (1) 现在我们创建的Web应用程序几乎都要用到Ajax技术,从技术上面讲,Ajax代表异步JavaScript和XML(Asynchronous JavaScript and

spring mvc 修改Controller中mapping地址,如何做到不重启tomcat应用?

问题描述 spring mvc 修改Controller中mapping地址,如何做到不重启tomcat应用? 大家在使用spring mvc过程中有没有遇到过这样的情况? 将Controller层的@RequestMapping("/hello")地址修改一下,这时需要重新启动tomcat服务吗?如果不需要重新启动就可以访问新的url地址,请问大家是如何做到的? 解决方案 热部署,,jrebel,或者采用其他的服务器

spring mvc 在eclipse中启动tomcat提示错误,什么原因

问题描述 spring mvc 在eclipse中启动tomcat提示错误,什么原因 严重: StandardWrapper.Throwablejava.lang.NoClassDefFoundError: javax/servlet/AsyncListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631) at

在MVC应用程序中动态加载PartialView

原文:在MVC应用程序中动态加载PartialView 有时候,我们不太想把PartialView直接Render在Html上,而是使用jQuery来动态加载,或是某一个事件来加载. 为了演示与做好这个练习,我们先在Views目录下的Home下创建_Partial1.cshtml部分视图,视图内容任你自定义,Insus.NET在本例中只让其显示一些文字与一张图片: 接下来,我们需要建立一个ActionResult()方法,在Controllers目录之下,打开HomeController.cs:

spring MVC 入门程序

由上一篇文章的分析spring MVC主要有以下几个组成部分:dispatcherServlet.HandlerMapping.HandlerAdapter.Handler.ViewResolver.View.其中 DispatcherServlet:前端控制器,由springmvc提供 HandlerMappting:处理器映射器,由springmvc提供 HandlerAdapter:处理器适配器,由springmvc提供 Handler:处理器,需要程序员开发 ViewResolver:视