linux jsp 500错误信息,关于jsp:为什么我收到HTTP Status 500的这个错误?

本问题已经有最佳答案,请猛点这里访问。

我创建了一个简单的JSP页面并创建了一个名为UserController.java的Servlet,它位于包com.pro3.controller中。 在jsp页面中,我有一个带get方法的表单。 当我提交表单时,它失败并出现以下异常:

HTTP状态500 - javax.servlet.ServletException:实例化servlet类com.pro3.controller.UserController时出错

--------------------------------------------------------------------------------

type Exception report

message javax.servlet.ServletException: Error instantiating servlet class com.pro3.controller.UserController

description The server encountered an internal error that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.servlet.ServletException: Error instantiating servlet class com.pro3.controller.UserController

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:412)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

root cause

javax.servlet.ServletException: Error instantiating servlet class com.pro3.controller.UserController

org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)

org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)

org.apache.jsp.index_jsp._jspService(index_jsp.java:62)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

root cause

java.lang.NullPointerException

java.util.Properties$LineReader.readLine(Properties.java:418)

java.util.Properties.load0(Properties.java:337)

java.util.Properties.load(Properties.java:325)

com.pro3.util.DbUtil.getConnection(DbUtil.java:26)

com.pro3.dao.UserDao.(UserDao.java:19)

com.pro3.controller.UserController.(UserController.java:27)

sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)

sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)

java.lang.reflect.Constructor.newInstance(Constructor.java:513)

java.lang.Class.newInstance0(Class.java:355)

java.lang.Class.newInstance(Class.java:308)

org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)

org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)

org.apache.jsp.index_jsp._jspService(index_jsp.java:62)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

任何人帮我解决这个问题。

public class DbUtil

{

public static Connection connection = null;

public static Connection getConnection()

{

if(connection!=null)

return connection;

else

{

try

{

Properties prop=new Properties();

InputStream inputStream=DbUtil.class.getClassLoader().getResourceAsStream("/db.properities");

prop.load(inputStream);

String driver=prop.getProperty("driver");

String url=prop.getProperty("url");

String user=prop.getProperty("user");

String password=prop.getProperty("password");

Class.forName(driver);

connection=DriverManager.getConnection(url,user,password);

}catch(ClassNotFoundException e){

e.printStackTrace();

这是空指针异常:

public class UserController extends HttpServlet

{

private static final long serialVersionUID = 1L;

private static String INSERT_OR_EDIT="/user.jsp";

private static String LIST_USER="/listuser.jsp";

private UserDao dao;

public UserController()

{

super();

dao = new UserDao();

}

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

{

String forward="";

String action = request.getParameter("action");

if(action.equalsIgnoreCase("delete"))

{

int userId=Integer.parseInt(request.getParameter("userid"));

dao.deleteUser(userId);

forward=LIST_USER;

request.setAttribute("users", dao.getAllUsers());

}

else if(action.equalsIgnoreCase("edit"))

{

forward=INSERT_OR_EDIT;

int userId=Integer.parseInt(request.getParameter("userid"));

User user=dao.getUserById(userId);

request.setAttribute("user", user);

}

else if(action.equalsIgnoreCase("listUser"))

{

forward=LIST_USER;

request.setAttribute("users", dao.getAllUsers());

}

else

{

forward=INSERT_OR_EDIT;

}

RequestDispatcher view=request.getRequestDispatcher(forward);

view.forward(request, response);

}

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException

{

User user=new User();

user.setFirstName(request.getParameter("firstname"));

user.setLastName(request.getParameter("lastname"));

try

{

Date dob = new SimpleDateFormat("dd/mm/yyyy").parse(request.getParameter("dob"));

user.setDob(dob);

}

catch(ParseException e)

{

e.printStackTrace();

}

user.setEmail(request.getParameter("email"));

String userid=request.getParameter("userid");

if(user==null||userid.isEmpty())

{

dao.addUser(user);

}

else

{

user.setUserid(Integer.parseInt(userid));

dao.updateUser(user);

}

RequestDispatcher view=request.getRequestDispatcher(LIST_USER);

request.setAttribute("users", dao.getAllUsers());

view.forward(request, response);

}

}

Pablo Lozano:他发现了一些错误,然后生病了,现在我遇到了这种错误。

HTTP Status 500 - java.lang.NullPointerException

-------------------------------------------------------------------------------- type

异常报告消息java.lang.NullPointerException

description The server encountered an internal error that prevented it

from fulfilling this request.

例外

org.apache.jasper.JasperException: java.lang.NullPointerException

org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:502)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:430)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

根本原因

显示java.lang.NullPointerException

com.pro3.dao.UserDao.getAllUsers(UserDao.java:74)

com.pro3.controller.UserController.doGet(UserController.java:51)

javax.servlet.http.HttpServlet.service(HttpServlet.java:617)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

org.apache.jasper.runtime.PageContextImpl.doForward(PageContextImpl.java:709)

org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:680)

org.apache.jsp.index_jsp._jspService(index_jsp.java:62)

org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:388)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)

javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

DbUtil.class.getClassLoader().getResourceAsStream("/db.properities");

尝试编写db.properties而不是db.properities

您正在尝试查找属性文件,但文件名拼写错误

它说java.lang.NullPointerException,所以有一个对象,没有实例化。 我假设您在com.pro3.util.DbUtil.getConnection中使用java.lang.Propertis#load(InputStream),因此您可能以错误的方式实例化它(如果有的话)。

因此,您不能使用DbUtils.class中的getResourceAsStream(我假设,如果您只将您的ptoperties放入同一个包中,它将起作用)。 请了解如何在Servlet中正确加载属性。

首先,请分享您的DbUtil.getConnection()方法,以便我们了解如何创建InputStream。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值