一个jsp系统注册功能出现500错误

TARO50123 2016-04-30 08:00:01
新手,不太理解怎么连接数据库,只能访问jsp页面,注册登录都不行,求助~
毕业设计,只要能演示运行就行……
错误截图:


环境是
sql server 2008
tomcat 5.0
myeclipse 10.0
...全文
260 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
TARO50123 2016-05-03
  • 打赏
  • 举报
回复
引用 12 楼 a602049511 的回复:
就是你注册登陆的功能肯定需要从数据库存取的,你存取的语句是如何写的
这个是注册的: public boolean addUser(String trueName, String number, String phone, String address) { String sql="insert into users(trueName,number,phone,address)values(?,?,?,?)"; if(JDBConnection.update(sql, new String[]{trueName,number,phone, address})) return true; else return false; } 这个是登录的: public boolean login(String username, String password) { try { Map map=JDBConnection.queryForMap("select *from users where trueName=? and number=?", new String[]{username,password}); } catch (Exception e) { return false; } return true; }
TARO50123 2016-05-03
  • 打赏
  • 举报
回复
我基础确实不行…… 毕业之后也不是从事这个行业,现在还在上班中 学习的时间很短TAT
mingxin95 2016-05-02
  • 打赏
  • 举报
回复
哈哈,楼主是找的网上的代码吧,建议你把基础多看看,让你贴出错的代码你都贴错了
新锐码农小L 2016-05-02
  • 打赏
  • 举报
回复
就是你注册登陆的功能肯定需要从数据库存取的,你存取的语句是如何写的
TARO50123 2016-05-02
  • 打赏
  • 举报
回复
引用 9 楼 a602049511 的回复:
[quote=引用 8 楼 u011145281 的回复:] sql 代码: /* MySQL Data Transfer Source Host: localhost Source Database: guahao Target Host: localhost Target Database: guahao Date: 2013/9/11 21:57:37 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for admin -- ---------------------------- DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `name` varchar(255) NOT NULL, `password` varchar(255) default NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for doctor -- ---------------------------- DROP TABLE IF EXISTS `doctor`; CREATE TABLE `doctor` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `phone` varchar(255) NOT NULL, `introduction` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for orders -- ---------------------------- DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `id` int(11) NOT NULL auto_increment, `tureName` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `time` date NOT NULL, `type` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `trueName` varchar(255) NOT NULL, `number` varchar(255) NOT NULL, `phone` varchar(255) default NULL, `address` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Records -- ---------------------------- [quote=引用 2 楼 u011054333 的回复:] 贴代码看看,看样子是网上找的毕设……我估计是数据库初始化失败,然后一场直接被catch吃掉了,然后空的数据库连接传给其他方法就会导致这样。我以前也这么干过……
引用 7 楼 a602049511 的回复:
检查sql语句是否有问题,或者敲错字了,贴一下代码看看
[/quote] 呃,我不是要看你建表语句,是你在java中用的查询语句[/quote] 噢 不好意思噢 不太懂,是JDBConnection.java这个文件吗?
TARO50123 2016-05-02
  • 打赏
  • 举报
回复
这个是JDBConnection.java文件: package jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.ResourceBundle; public class JDBConnection { private static String url = ""; private static String driver = ""; private static String userName = ""; private static String password = ""; static { //获取全局变量文件的类 ResourceBundle bundle = ResourceBundle.getBundle("jdbc"); //获取全局变量文件的名称 //获取全局变量文件的内容 url = bundle.getString("jdbc.url"); driver = bundle.getString("jdbc.driver"); userName = bundle.getString("jdbc.username"); password = bundle.getString("jdbc.password"); } public static String getUrl() { return url; } public static String getDriver() { return driver; } public static String getUserName() { return userName; } public static String getPassword() { return password; } public static Connection getConnection() { Connection conn = null; try { Class.forName(getDriver()); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { conn = DriverManager.getConnection(getUrl(), getUserName(), getPassword()); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); System.out.println(e); } return conn; } //数据库查询,转化成list存储 public static List queryForList(String sql, Object[] args) { Connection conn = null; List list = new ArrayList(); try { conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); if (args != null) { for (int i = 0; i < args.length; i++) { pstmt.setObject(i + 1, args[i]); } } ResultSet rs = pstmt.executeQuery(); ResultSetMetaData rsmd = rs.getMetaData(); int cols = rsmd.getColumnCount(); String[] colNames = new String[cols]; for (int i = 0; i < cols; i++) { colNames[i] = rsmd.getColumnName(i + 1); } while (rs.next()) { Map row = new HashMap(); for (int i = 0; i < cols; i++) { row.put(colNames[i].toLowerCase(), rs.getObject(i + 1)); } list.add(row); } rs.close(); pstmt.close(); } catch (SQLException e) { e.printStackTrace(); } finally { try { if (conn != null) { conn.close(); } } catch (SQLException e) { e.printStackTrace(); } } return list; } //数据库添加、删除、修改 public static boolean update(String sql, Object[] args) { Connection conn = null; int count = -1; try { conn = getConnection(); PreparedStatement pstmt = conn.prepareStatement(sql); if (args != null) { for (int i = 0; i < args.length; i++) { pstmt.setObject(i + 1, args[i]); } } count = pstmt.executeUpdate(); pstmt.close(); } catch (SQLException ex) { ex.printStackTrace(); } finally { if (conn != null) { try { conn.close(); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } if (count > 0) { return true; } else { return false; } } // 用于查询结果为一条记录的查询 public static Map queryForMap(String sql, Object[] params) throws Exception { List result = queryForList(sql, params); if (result.size() == 1) { return (Map) result.get(0); } else { throw new Exception("期望一行数据,实际返回" + result.size() + "行"); } } }
新锐码农小L 2016-05-02
  • 打赏
  • 举报
回复
引用 8 楼 u011145281 的回复:
sql 代码: /* MySQL Data Transfer Source Host: localhost Source Database: guahao Target Host: localhost Target Database: guahao Date: 2013/9/11 21:57:37 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for admin -- ---------------------------- DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `name` varchar(255) NOT NULL, `password` varchar(255) default NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for doctor -- ---------------------------- DROP TABLE IF EXISTS `doctor`; CREATE TABLE `doctor` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `phone` varchar(255) NOT NULL, `introduction` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for orders -- ---------------------------- DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `id` int(11) NOT NULL auto_increment, `tureName` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `time` date NOT NULL, `type` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `trueName` varchar(255) NOT NULL, `number` varchar(255) NOT NULL, `phone` varchar(255) default NULL, `address` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Records -- ---------------------------- [quote=引用 2 楼 u011054333 的回复:] 贴代码看看,看样子是网上找的毕设……我估计是数据库初始化失败,然后一场直接被catch吃掉了,然后空的数据库连接传给其他方法就会导致这样。我以前也这么干过……
引用 7 楼 a602049511 的回复:
检查sql语句是否有问题,或者敲错字了,贴一下代码看看
[/quote] 呃,我不是要看你建表语句,是你在java中用的查询语句
TARO50123 2016-05-02
  • 打赏
  • 举报
回复
sql 代码: /* MySQL Data Transfer Source Host: localhost Source Database: guahao Target Host: localhost Target Database: guahao Date: 2013/9/11 21:57:37 */ SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for admin -- ---------------------------- DROP TABLE IF EXISTS `admin`; CREATE TABLE `admin` ( `name` varchar(255) NOT NULL, `password` varchar(255) default NULL, PRIMARY KEY (`name`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for doctor -- ---------------------------- DROP TABLE IF EXISTS `doctor`; CREATE TABLE `doctor` ( `id` int(11) NOT NULL auto_increment, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `phone` varchar(255) NOT NULL, `introduction` varchar(255) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for orders -- ---------------------------- DROP TABLE IF EXISTS `orders`; CREATE TABLE `orders` ( `id` int(11) NOT NULL auto_increment, `tureName` varchar(255) NOT NULL, `name` varchar(255) NOT NULL, `time` date NOT NULL, `type` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS `users`; CREATE TABLE `users` ( `id` int(11) NOT NULL auto_increment, `trueName` varchar(255) NOT NULL, `number` varchar(255) NOT NULL, `phone` varchar(255) default NULL, `address` varchar(255) default NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=gb2312; -- ---------------------------- -- Records -- ----------------------------
引用 2 楼 u011054333 的回复:
贴代码看看,看样子是网上找的毕设……我估计是数据库初始化失败,然后一场直接被catch吃掉了,然后空的数据库连接传给其他方法就会导致这样。我以前也这么干过……
引用 7 楼 a602049511 的回复:
检查sql语句是否有问题,或者敲错字了,贴一下代码看看
新锐码农小L 2016-05-02
  • 打赏
  • 举报
回复
检查sql语句是否有问题,或者敲错字了,贴一下代码看看
niaonao 2016-05-02
  • 打赏
  • 举报
回复

你检查一下这个地方。
空指针异常,可能是代码敲错,或传的值不存在
乐百川 2016-05-01
  • 打赏
  • 举报
回复
贴代码看看,看样子是网上找的毕设……我估计是数据库初始化失败,然后一场直接被catch吃掉了,然后空的数据库连接传给其他方法就会导致这样。我以前也这么干过……
卡卡真的很卡 2016-05-01
  • 打赏
  • 举报
回复
空指针异常,可能数据库没有用户相关数据

81,094

社区成员

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

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