67,513
社区成员
发帖
与我相关
我的任务
分享
HTTP Status 500 – Internal Server Error
Type 异常报告
描述 服务器遇到一个意外的情况,阻止它完成请求。
Exception
java.lang.NullPointerException
com.houdi.controller.UserAddServlet.doGet(UserAddServlet.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note 主要问题的全部 stack 信息可以在 server logs 里查看
Apache Tomcat/9.0.22
package com.houdi.controller;
import com.dao.UserDao;
import com.model.Users;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
public class UserAddServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String userName,loginName,password,email;
UserDao dao = null;
Users user = null;
int flag = 0;
PrintWriter out = null;
userName = request.getParameter("userName");
loginName = request.getParameter("loginName");
password = request.getParameter("password");
email = request.getParameter("email");
user = new Users(userName,loginName,password,email);//有问题
flag = dao.userAdd(user);
response.setContentType("text/html;charset=utf-8");
out = response.getWriter();
if (flag == 1){
out.print("<center><font style=color:green;font-size:30px>用户注册成功</font></center>");
}else {
out.print("<center><font style=color:red;font-size:30px>用户注册失败</font></center>");
}
}
}
package com.dao;
import com.model.Users;
import com.util.DBUtil;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
public class UserDao {
//用户信息添加
public int userAdd(Users user) {
String sql = "insert into users(userName,loginName,psssword,email)" + "value(?,?,?,?)";
Connection con = null;
PreparedStatement ps = null;
int flag = 0;
try {
con = DBUtil.getConnection();
ps = con.prepareStatement(sql);
ps.setString(1, user.getUserName());
ps.setString(2, user.getLoginName());
ps.setString(3, user.getPassword());
ps.setString(4, user.getEmail());
flag = ps.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
} finally {
DBUtil.close(con, ps, null);
}
return flag;
}
}
package com.model;
public class Users {
private Integer userId;//用户编号
private String userName;//用户姓名
private String loginName;//登录名
private String password;//密码
private String email;//email
public Integer getUserId() {
return userId;
}
public void setUserId(Integer userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getLoginName() {
return loginName;
}
public void setLoginName(String loginName) {
this.loginName = loginName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Users() {
}
public Users(Integer userId, String userName, String loginName, String password, String email) {
this.userId = userId;
this.userName = userName;
this.loginName = loginName;
this.password = password;
this.email = email;
}
public Users(String userName, String loginName, String password, String email) {
this.userName = userName;
this.loginName = loginName;
this.password = password;
this.email = email;
}
}
HTTP Status 500 – Internal Server Error
Type 异常报告
消息 Servlet execution threw an exception
描述 服务器遇到一个意外的情况,阻止它完成请求。
Exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NoClassDefFoundError: Could not initialize class com.util.DBUtil
com.dao.UserDao.userAdd(UserDao.java:33)
com.houdi.controller.UserAddServlet.doGet(UserAddServlet.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note 主要问题的全部 stack 信息可以在 server logs 里查看
Apache Tomcat/9.0.22
[/quote]
你这个错误就是找不到类DBUtil,说是有两个jar包冲突了,有两个同包名的DBUtil,导致jvm不知道使用哪个类[/quote]
好的,谢谢你的回答!
HTTP Status 500 – Internal Server Error
Type 异常报告
消息 Servlet execution threw an exception
描述 服务器遇到一个意外的情况,阻止它完成请求。
Exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NoClassDefFoundError: Could not initialize class com.util.DBUtil
com.dao.UserDao.userAdd(UserDao.java:33)
com.houdi.controller.UserAddServlet.doGet(UserAddServlet.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note 主要问题的全部 stack 信息可以在 server logs 里查看
Apache Tomcat/9.0.22
[/quote]
你这个错误就是找不到类DBUtil,说是有两个jar包冲突了,有两个同包名的DBUtil,导致jvm不知道使用哪个类
HTTP Status 500 – Internal Server Error
Type 异常报告
消息 Servlet execution threw an exception
描述 服务器遇到一个意外的情况,阻止它完成请求。
Exception
javax.servlet.ServletException: Servlet execution threw an exception
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Root Cause
java.lang.NoClassDefFoundError: Could not initialize class com.util.DBUtil
com.dao.UserDao.userAdd(UserDao.java:33)
com.houdi.controller.UserAddServlet.doGet(UserAddServlet.java:28)
javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
Note 主要问题的全部 stack 信息可以在 server logs 里查看
Apache Tomcat/9.0.22
17:UserDao dao = null;
28:flag = dao.userAdd(user);
这不是明星空指针么?