雏 菊 2020-12-07 20:45 采纳率: 33.3%
浏览 4

编辑删除都会404,是struts的问题吗?

dao:


public interface UserDao {
	public boolean findUserByName(String username);
	public List<User> findUser();
	public  User getUserById(Integer id);
	public boolean UpdateUser(User user);
	public boolean DeleteUser(User user);
	public boolean add(User user);

	

}

daoimple:

public class UserDaoImpl implements UserDao{
	private SessionFactory sessionFactory;
	//定义Hibernate2个对象
	Session session=null;
	Transaction trans=null;
	
	public void close(){
		try{
			if(session!=null)session.close();
		}catch(Exception e){
			e.printStackTrace();
		}
	}  //销毁对象
	public SessionFactory getSessionFactory() {
		return sessionFactory;
	}
	public void setSessionFactory(SessionFactory sessionFactory) {
		this.sessionFactory = sessionFactory;
	}
	

	public boolean add(User user){
		//通过SessionFactory实例对象获取session对象
		 session =sessionFactory.openSession();
		  //开始事务
		  trans=session.beginTransaction();
		  try{
//			  User u=new User();
//			  u.setUsername(user.getUsername());
//			  u.setPassword(user.getPassword());
//			  u.setBirthday(user.getBirthday());
			  //把数据放入一级缓存session中
			  session.save(user);
			  //提交事务,与数据库开始交互
			  trans.commit();
			  return true;
			  }catch(Exception e){
			  return false;
		  }
		  finally{
			  close();
		  }
	}
	
@Override
	public boolean findUserByName(String username){
		//通过SessionFactory实例对象获取session对象
		session =sessionFactory.openSession();
		trans = session.beginTransaction();
		try{
			String hql="from User user where user.username=?";
			  Query query=session.createQuery(hql);
			  query.setParameter(0,username);
			  List<User> list=query.list();
			  if(list.isEmpty()) return false;
			  else return true;
		}catch(Exception e){
			return true;
			
		}
	}
	
@Override
public List<User> findUser(){
    session = sessionFactory.openSession();
	trans = session.beginTransaction();
  try{
	  String hql="from User";
	  Query query=session.createQuery(hql);
	  List<User> list=query.list();
	  if(list.isEmpty()) return null;
	  else return list;
  }catch(Exception e){
	  return null;
  }
}
@Override
public User getUserById(Integer id) {
	// TODO Auto-generated method stub
	session =sessionFactory.openSession();
	//trans = session.beginTransaction();
	try{
		String hql="from User user where user.id=?";
		  Query query=session.createQuery(hql);
		  query.setParameter(0,id);
		  List<User> list=query.list();
		  if(list.isEmpty()) return null;
		  else return list.get(0);
	}catch(Exception e){
		return null;
		
	}
}
@Override
public boolean UpdateUser(User user) {
	// TODO Auto-generated method stub
	 session =sessionFactory.openSession();
	  //开始事务
	  trans=session.beginTransaction();
	  try{
		  session.update(user);
		  //提交事务,与数据库开始交互
		  trans.commit();
		  return true;
		  }catch(Exception e){
		  return false;
	  }
	  finally{
		  close();
	  }
}
@Override
public boolean DeleteUser(User user) {
	// TODO Auto-generated method stub
	 session =sessionFactory.openSession();
	  //开始事务
	  trans=session.beginTransaction();
	  try{
		  String hql="delete from User user where user.id=?";
		  session.delete(user);
		  //提交事务,与数据库开始交互
		  trans.commit();
		  return true;
		  }catch(Exception e){
		  return false;
	  }
	  finally{
		  close();
	  }
}

}

action:

public class RegAction  extends ActionSupport{

	private User user;//对应regist.jsp中的user.username中的user对象,用user对象将name,password,birthday关联起来
	private String comments;
	public List<User> userlist;
	private UserDao userdao;
	private String id;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public UserDao getUserdao() {
		return userdao;
	}

	public void setUserdao(UserDao userdao) {
		this.userdao = userdao;
	}

	public List<User> getUserlist(){
		return userlist;
	}//get方法必须要有,显示所有用户信息

	public User getUser() {
		return user;
	}

	public void setUser(User user) {
		this.user = user;
	}

	public String getComments() {
		return comments;
	}

	public void setComments(String comments) {
		this.comments = comments;
	}
	
     public String regUser() throws Exception{
//  UserDao userdao=new userdao();
	   if(userdao.findUserByName(user.getUsername())){
		   setComments("用户已存在");
		   return "input";
	   }
	   else{
		   boolean flag=userdao.add(user);//按ctrl键再将鼠标移至add上即可查看add的定义
		    if(flag){
		    	userlist=userdao.findUser();//获取数据
		    	return "success";
		    }
		    else{
		    	setComments("注册失败");
				return "input";
		    }
	   }
     }
     
     public String getUserById(){
    	 user=userdao.getUserById(Integer.parseInt(this.getId()));
    	 if(user!=null){
    		 return "success";
    	 }
    	 else{
    		 return "input";
    	 }
     }
     
     public String updateUser(){
    	 String result = "input";
    	 try{
    		 userdao.UpdateUser(user);
    		 result = "success";
    	 }catch(Exception e){
    		 e.printStackTrace();
    	 }
		return result;
    	 
     }
     
     public String deleteUser(){
    	 user=userdao.getUserById(Integer.parseInt(this.getId()));
    	 if(user!=null){
    		 userdao.DeleteUser(user);
    		 return "success";
    	 }
    	 else{
    		 return "input";
    	 }
}
}

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">

<!-- 注册动作类TestAction及其方法 -->

<struts>
	<constant name="struts.multipart.maxSize" value="1048576000"></constant>
	<constant name="struts.objectFactory" value="spring"></constant>
	<package name="struts2" extends="struts-default">

       <action name="regUser" class="action.RegAction"  method="regUser">    
 			<result name="success">/success.jsp</result>
			<result name="input">/error.jsp</result> 
			 <interceptor-ref name="defaultStack"/>
       		
       </action>   

 </package> 
</struts>    

页面:

点击删除之后

 

  • 写回答

1条回答 默认 最新

  • Mr.Qubb 2020-12-08 09:05
    关注

    404 路径没找到 确定自己的请求路径

     

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料