servlet+js+javabean做个模糊查询的问题

njj0429 2011-11-11 03:41:57
想在JSP页面上的文本框内任意输入一个字符或字符串,点击BUTTON能模糊查询到数据库匹配的数据,我用的是ORACLE数据库代码如下,希望各位大侠能帮忙解决下:

实体类:public class User {
private String id; //id
private String name; //姓名
private String age; //年龄
private String sex; //性别
public String getId() {
return id;
}...set....get....}
dao层类:public class UserHandlerImpl implements UserHandler {
@Override
public List<User> listName(String name) throws SQLException {
List<User> users = new ArrayList<User>();
Connection conn = DBUtil.getConnection();
String sql = "select * from n_user where name='%?%'";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, name);
ResultSet rs = ps.executeQuery();
try{
while (rs.next()) {
User u = new User();
u.setId(rs.getString("id"));
u.setAge(rs.getString("age"));
u.setSex(rs.getString("sex"));
u.setName(rs.getString("name"));
users.add(u);
}
}catch(SQLException e){
e.printStackTrace();}
finally{
DBUtil.close(conn);
}
return users;
}
}
servlet类:}else if(path.equals("/listName")){
String name = request.getParameter("name");
UserHandler uh = new UserHandlerImpl();
try {
List<User> users = uh.listName(name);
request.setAttribute("users", users);
request.getRequestDispatcher("result.jsp").forward(request, response);
} catch (SQLException e) {
e.printStackTrace();
}

}

}

XML已配置好 以上后台代码 无法在JSP页面上取值。。。。望各位大侠帮个忙 或者有实例的 可以发送我邮箱:20350586@qq.com 小弟不甚感激
...全文
305 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
magong 2011-11-11
  • 打赏
  • 举报
回复
String sql = "select * from n_user where name like ?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, "%" + name + "%");
njj0429 2011-11-11
  • 打赏
  • 举报
回复
JSP页面正确的 我知道错在哪了。。。
DAO层代码改为:String sql = "select * from n_user where name like '%"+name+"%'";
PreparedStatement ps = conn.prepareStatement(sql);
//ps.setString(1, name);
便可。。。。晕死 谢谢各位了 结贴
njj0429 2011-11-11
  • 打赏
  • 举报
回复
问题已解决
magong 2011-11-11
  • 打赏
  • 举报
回复
报什么异常来着。
JSP页面没有贴嘛。
我是小飞 2011-11-11
  • 打赏
  • 举报
回复
sql语句错
什么都不能 2011-11-11
  • 打赏
  • 举报
回复
什么数据库?如果是oracle应该是
String sql = "select * from n_user where name like '%'||?||'%'";
njj0429 2011-11-11
  • 打赏
  • 举报
回复
java.sql.SQLException: ORA-01006: bind variable does notexist 运行后是报此错 用DEBUG查询 DAO类中的while (rs.next()) {
User u = new User();
u.setId(rs.getString("id"));
u.setAge(rs.getString("age"));
u.setSex(rs.getString("sex"));
u.setName(rs.getString("name"));
users.add(u); 无法注入值 求高人帮忙
njj0429 2011-11-11
  • 打赏
  • 举报
回复
String sql = "select * from n_user where name like '%?%'"; 已更改
njj0429 2011-11-11
  • 打赏
  • 举报
回复
哦对 这代码我纠结过半天。。。重新编缉下 感谢楼上提醒
a_b_a_b_a_b_a_b 2011-11-11
  • 打赏
  • 举报
回复

String sql = "select * from n_user where name='%?%'";

模糊查询怎能用=号,
用like吧
【资源说明】 1、该资源包括项目的全部源码,下载可以直接使用! 2、本项目适合作为计算机、数学、电子信息等专业的课程设计、期末大作业和毕设项目,作为参考资料学习借鉴。 3、本资源作为“参考资料”如果需要实现其他功能,需要能看懂代码,并且热爱钻研,自行调试。 基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip # JavaWeb_Attendance 1. 软件开发流程(可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档)z 1) 分析理解前端页面,将前端的html页面改成Jsp页面,JSP页面加入page标签 2) 将JSP页面中的静态数据 修改为从数据库查询到的动态数据,通过JSTL的ForEach进行循环遍历数据,并通过EL表达式取出数据。 3) 修改JSP代码中的分页查询部分代码, 并将(总记录条数,总页码数,每页要显示的数据List 当前页码,每页显示的记录条数(默认为5) 封装到PageBean类中) 4) 通过JSP中的标签的href属性 或 form的action属性 或 js代码的自定义提交方法进行跳转到Servlet层 5) Servlet层调用Dao层的操作数据库的方法,包括: 数据库的增删改查。添加、删除、查询、多表查询、模糊搜索。 6) 面向接口编程,先写dao接口 再写dao的实现类。 7) 操作完数据库,如果是查询数据 将结果集返回到servlet页面,通过setAttribute(key,value)将数据存入request作用域,跳转回JSP页面,再通过JSP页面的EL表达式获取存入的数据。 8) 如果是修改数据,修改完成后直接跳转页面就可 2. 项目整体功能概要(大体说明整个项目的功能) 所有功能全部实现 - 登录、注册(用户添加) - 登录后的首页,显示的是本地时间 - 用户管理 * 分页查询用户信息 * 修改用户用户信息(数据回显,修改) * 删除用户信息 * 添加用户信息 * 模糊搜索用户信息 * 批量删除用户信息 - 部门管理 * 分页查询部门信息 * 修改部门信息(数据回显,修改) * 删除部门信息(部门下人数为0才可删除,不为0就不能是删除) * 添加部门信息 * 模糊搜索部门信息 * 批量删除部门信息 - 日报管理 * 分页查询日报信息 * 修改日报信息(数据回显,修改) * 删除日报信息 * 添加日报信息 * 模糊搜索日报信息 * 批量删除日报信息 - 加班管理 * 加班申请分页查询 * 修改加班申请(数据回显,修改) * 删除加班申请 * 添加 * 模糊搜索 * 批量删除加班信息 - 休假管理 * 休假申请分页查询 * 修改休假申请(数据回显,修改) * 删除加休假申请 * 添加休假申请 * 模糊搜索休假信息 * 批量删除休假信息 - 审批管理(审批加班申请 和 审批休假申请) * 待处理的加班申请 的 分页查询 * 通过加班申请 * 驳回加班申请 * 待处理的休假申请 的 分页查询 * 通过休假申请 * 驳回休假申请 * 模糊搜索 待处理的 加班申请和休假申请 - 个人信息修改 * 根据登录的id查询数据库进行 数据的回显,保存后完成信息修改 - 我的桌面 * 当审批信息后,该页面就会显示通过还是驳回的信息及审批时间 4. 个人承担的开发任务说明(标明个人模块的完成情况,所开发的每个模块功能详细说明及界面) - 登录、注册(用户添加) 从输入框输入数据,在servlet层通过request.getParameter()获取form表单提交的参数,将获得的用户名、密码作为参数调用dao层的方法进行查询数据库,select * from t_user_info where username=? andpassword =? 如果数据库查询结果集不为空,则说明数据库中有该用户名和密码,可以登录成功。登录成功返回main.jsp页面,登录失败则提示账号或密码错误的信息。 public int searchId(Users u) { String sql = "select id from t_user_info where name = ? and password = ? "; conn = du.getConn(); ps = du.getPs(conn,sql); int myId = 0; try { ps.setString(1,u.getName());

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧