`

java.lang.NoSuchMethodException:最易忽略的地方

阅读更多

action层

@Controller
@Scope("prototype")
@SuppressWarnings("serial")
public class UserAction extends CommonAction implements ModelDriven<MemoryUser>{
	@Resource
	private UserService userService;
	private MemoryUser memoryUser=new MemoryUser();
	//用户名是否重复的标识,“Y”标识重复,“N”标识不重复
	private String isUserNameRepeat;
	@Override
	public MemoryUser getModel() {
		return memoryUser;
	}
	
	public String getIsUserNameRepeat() {
		return isUserNameRepeat;
	}

	public void setIsUserNameRepeat(String isUserNameRepeat) {
		this.isUserNameRepeat = isUserNameRepeat;
	}

	/**
	 * @Description: 用户注册时检测用户名是否重复
	 * @author:
	 * @Date:
	 * @param:
	 * @return:
	 * @throws:
	 */
	private String checkUserName() throws Exception {
		isUserNameRepeat="N";
		System.out.println("执行++++++++++");
		System.out.println(userService.checkUserName(getModel().getUserName()));
		if(userService.checkUserName(getModel().getUserName())) {
			isUserNameRepeat="Y";
		}
		return SUCCESS;
	}

 

Service层

@Service
public class UserService {
	@Resource
	private UserDao userDao;
	
	/**
	 * @Description: 用户注册时检测用户名是否重复
	 * @author:
	 * @Date:
	 * @param:用户输入的用户名
	 * @return:是否重复
	 * @throws:
	 */
	public Boolean checkUserName(String userName) throws Exception {
		return userDao.checkUserName(userName);
	}
}

 

Dao层

import javax.annotation.Resource;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.springframework.stereotype.Repository;

import cn.cd.model.MemoryUser;

@Repository
public class UserDao {
	@Resource
	private SessionFactory sessionFactory;

	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}

	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	} 
	
	/**
	 * @Description: 用户注册时检测用户名是否重复
	 * @author:
	 * @Date:
	 * @param:用户输入的用户名
	 * @return:是否重复
	 * @throws:
	 */
	public Boolean checkUserName(String userName) throws Exception {
		Boolean flag=false;
		Session session=sessionFactory.openSession();
		Transaction tx=null;
		tx=session.beginTransaction();
		MemoryUser memoryUser=(MemoryUser) session.get(MemoryUser.class, userName);
		tx.commit();
		if(null!=memoryUser) {
			flag=true;
		}
		return flag;
	}
	
}

 

Struts配置

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
	<!-- 与用户有关的action的配置 -->
	<package name="memoryUser" extends="json-default" namespace="/memoryUser">
		<!-- 验证用户名是否重复-->
		<action name="checkUserName" class="cn.cd.action.UserAction" method="checkUserName">
			<result name="success" type="json">
				<param name="includeProperties">
					isUserNameRepeat
		        </param>
		        <param name="noCache">true</param>  
		        <param name="ignoreHierarchy">false</param>
	        </result>
		</action> 
	</package>
</struts>    

 

一直报上面的错误,找了好久发现配置都是对的,最后无意中发现Action中的checkUserName()居然是private……大概是写属性写的太多,写顺手了……

分享到:
评论

相关推荐

    java.lang.NoSuchMethodException: .getPortClassMap()

    在Java编程中,`java.lang.NoSuchMethodException` 是一个常见的运行时异常,它表示尝试调用一个不存在的方法。这个异常通常发生在动态方法调用或反射操作中。在给出的标题 "java.lang.NoSuchMethodException: ....

    java.lang.NoSuchMethodException: com.sun.proxy.$Proxy58.list错误解决办法

    Java中的`java.lang.NoSuchMethodException`异常通常表明在运行时尝试调用一个不存在的方法。这个错误通常发生在动态代理、反射或者其他需要在运行时查找或调用特定方法的场景。在这个特定的问题中,错误提示是`java...

    java 请求的方法不存在(NoSuchMethodException)

    2. **类加载机制**:Java使用双亲委派模型进行类加载,理解这一机制有助于排查类找不到方法的问题。 3. **Java动态代理**:基于`java.lang.reflect.Proxy`和`java.lang.reflect.InvocationHandler`,实现对目标对象...

    Java上传文件错误java.lang.NoSuchMethodException的解决办法

    在Java编程中,`java.lang.NoSuchMethodException`异常通常表明在运行时尝试调用一个不存在的方法。这个错误在上传文件时出现,可能是由于在控制器方法的签名与前端发送请求时的参数不匹配导致的。在描述中提到的...

    Java 异常java.lang.NoSuchFieldException解决方案

    在Java编程中,`java.lang.NoSuchFieldException`是运行时异常的一种,通常发生在尝试访问或操作一个类的字段,但该字段在指定的类或其任何超类中不存在时。这个异常表明在编译期间可能存在的字段在运行时无法找到,...

    mybatis-通用Mapper-逆向工程-代码生成工具

    MyBatis-通用Mapper通过逆向工程(Reverse Engineering)和代码生成工具,能够自动生成与数据库表相关的Java实体类、Mapper接口和Mapper XML配置文件,极大地提高了开发效率。下面我们将深入探讨这个工具的使用和...

    JAVA常见异常解析,面试用

    - **java.lang.NoSuchMethodException**:当试图调用不存在的方法时抛出。 理解并能有效地处理这些异常对于编写健壮的Java程序至关重要。Java API文档提供了每个异常的详细描述和用法,是开发者解决问题的宝贵资源...

    java常见异常.pdf

    1. **java.lang.NullPointerException**: 这是最常见的异常,当试图调用一个null对象的方法或访问其字段时发生。确保在使用对象之前正确地初始化它们,避免对未定义的对象引用进行操作。 2. **java.lang....

    java 反射 报错 no such method exception

    然而,当开发者尝试使用反射调用一个不存在的方法时,便会遇到`java.lang.NoSuchMethodException`异常。本文将深入探讨此异常,特别是它在服务器端Java应用中的常见场景——例如Struts框架——并提供详细的解决方案...

    java.lang.NoSuchMethodException(解决方案).md

    项目中碰到的,记录一下解决方案

    常见的java异常.pdf

    9. **`java.lang.NoSuchMethodException`**:当尝试调用一个不存在的方法时抛出。确保方法签名正确,类路径和类加载器设置无误。 除了上述异常,还有许多其他类型的异常,如`ClassNotFoundException`、`...

    JAVA常见的错误

    java.lang.NullPointerException 是一种常见的错误,发生在程序中调用了未经初始化的对象或不存在的对象时。例如,在创建图片或调用数组时,如果图片未经初始化或数组元素未经初始化,就会出现该错误。解决方法是...

    Java中常用异常列表[收集].pdf

    11. **`java.lang.NoSuchMethodException`**:方法未找到异常。当尝试调用一个不存在的方法时,会抛出此异常。检查方法名、参数类型和返回类型是否匹配。 异常处理是Java编程中不可或缺的一部分,良好的异常处理...

    JAVA常见异常解析

    11. **java.lang.NoSuchMethodException**: 当试图调用一个不存在的方法时,会抛出此异常。检查方法名、参数列表以及类的API文档,确保方法确实存在。 12. **java.lang.AbstractMethodError**、**java.lang....

    Java的异常类

    - **`java.lang.NoSuchMethodException`**:方法未找到异常。 #### 三、总结 异常处理对于编写健壮和可靠的Java应用程序至关重要。理解不同类型的异常及其触发条件可以帮助开发者更好地设计和维护代码。此外,...

    java 异常种类总结【转】.docx

    java.lang.UnsupportedClassVersionError 是一种不支持的类版本错误,指的是在程序中 Java 虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前 Java 虚拟机支持的时候,抛出的异常。 33. java.lang...

    petshop4.0源码+详解

    《PetShop 4.0 源码深度解析与学习指南》 PetShop 4.0 是一个经典的ASP.NET应用程序示例,对于那些已经具备C#和ASP.NET基础的开发者来说,它是一个极好的学习资源。这个项目展示了如何在.NET框架下构建一个完整的...

Global site tag (gtag.js) - Google Analytics