新手求助:为什么会报 HTTP Status 500?

RuHua27 2015-03-23 02:18:36
麻烦帮我看下,jdbc包已经导入了,在libraries里面,代码是网上找的。。

HTTP Status 500 -

type Exception report

message

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

exception

java.lang.NullPointerException
org.cai.servlet.LoginServlet.doPost(LoginServlet.java:69)
javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
javax.servlet.http.HttpServlet.service(HttpServlet.java:723)

note The full stack trace of the root cause is available in the Apache Tomcat/6.0.39 logs.

LoginServlet.java

package org.cai.servlet ;
import java.sql.* ;
import java.io.* ;
import javax.servlet.http.* ;
import javax.servlet.* ;
public class LoginServlet extends HttpServlet implements Servlet{
public LoginServlet(){
}

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

}
// protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
// System.out.println("-------------------------") ;
// doPost(request, response) ;
// }
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
response.setContentType("text/html;charset=gb2312") ;
request.setCharacterEncoding("gb2312") ;
String result = "" ;
//获取用户名
String username = request.getParameter("username") ;
String psw = request.getParameter("password") ;
if ((username == "") || (username==null) || (username.length() > 20 )){
try{
result = "请输入用户名(不能超过20个字符)!" ;
request.setAttribute("message" ,result) ;
response.sendRedirect("login.jsp") ;
}catch(Exception e){
e.printStackTrace() ;
}
}
if ((psw == "") || (psw==null) || (psw.length() > 20 )){
try{
result = "请输入密码(不能超过20个字符)!" ;
request.setAttribute("message" ,result) ;
response.sendRedirect("login.jsp") ;
}catch(Exception e){
e.printStackTrace() ;
}
}

//登记JDBC驱动程序
try{
Class.forName("org.gjt.mm.mysql.Driver") ;
}catch(ClassNotFoundException e){
e.printStackTrace() ;
System.out.println("Class Not Found Exception . ") ;
}
//连接URL
String url ="jdbc:mysql://localhost:3306/learnJSP" ;
Connection conn = null ;
Statement stmt = null ;
ResultSet rs = null ;

try{
conn = DriverManager.getConnection(url, "root", "520") ;
stmt = conn.createStatement() ;
//SQL语句
String sql ="select * from userInfo where username='"+username+"' and userpsw= '"+psw+"'" ;
rs = stmt.executeQuery(sql) ;//返回查询结果
}catch(SQLException e){
e.printStackTrace() ;
}
HttpSession session = request.getSession() ;
session.setAttribute("username", username) ;
//System.out.println("+++++++++++++++++++++++"+ username) ;
try{
if (rs.next()){ //如果记录集非空,表明有匹配的用户名和密码,登陆成功
// 登录成功后将username设置为session变量的username
// 这样在后面就可以通过 session.getAttribute("username") 来获取用户名,
// 同时这样还可以作为用户登录与否的判断依据
session.setAttribute("age",rs.getString("age")) ;
session.setAttribute("sex",rs.getString("sex")) ;
session.setAttribute("weight",rs.getString("weight")) ;
response.sendRedirect("success.jsp") ;
}else{
session.setAttribute("message", "用户名或密码不匹配。");
response.sendRedirect("fail.jsp") ;
}
}catch(SQLException e){
e.printStackTrace() ;
}
}

private static final long serialVersionUID = 1L;
}
...全文
312 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Cc_Davis_cC 2015-03-31
  • 打赏
  • 举报
回复
response.sendRedirect();这个是好久都没见了的重定向,面试重点题目,但是我面试没遇到。额,
  • 打赏
  • 举报
回复
500错误就是服务端错误,楼主要学会看错误信息,已经报了空指针异常,而且从这句话LoginServlet.java:69可以看出错误出现的代码行。
tianfang 2015-03-24
  • 打赏
  • 举报
回复
Class.forName("org.gjt.mm.mysql.Driver") ; 可能是这个问题,你的jdbc不是这个org.gjt.mm包的
冥王之锤 2015-03-23
  • 打赏
  • 举报
回复
数据获取数据失败。
永恒七号 2015-03-23
  • 打赏
  • 举报
回复
从你得报错上看ervlet.LoginServlet.doPost(LoginServlet.java:69)!你自己debug下!
永恒七号 2015-03-23
  • 打赏
  • 举报
回复
报拉空指针异常,亲!
RuHua27 2015-03-23
  • 打赏
  • 举报
回复
debug LoginServlet.java第45行 ClassNotFoundException
RuHua27 2015-03-23
  • 打赏
  • 举报
回复
login.jsp
<%@ page language="java" contentType="text/html;charset=gb2312"%>
<html>
 <head>
  <title>登陆</title>
 </head>
 <body>
  <form method="POST" name="frmLogin" action="LoginServlet">
   <h1 align="center">用户登录</h1><br />
   <center>
    <table border=1>
     <tr>
      <td>用户名:</td>
      <td>
       <input type="text" name="username" value="Your name" size="20" maxlength="20" onfocus="if (this.value=='Your name')  this.value='';" />
      </td>
     </tr>
     <tr>
      <td>密  码:</td>
      <td>
       <input type="password" name="password" value="Your password" size="20" maxlength="20" onfocus="if (this.value=='Your password')  this.value='';" />
      </td>
     </tr>
     <tr>
      <td>
       <input type="submit" name="Submit" value="提交" onClick="return validateLogin()" />
      </td>
      <td>
       <input type="reset" name="Reset" value="重置" />
      </td>
     </tr>
    </table>
   </center>
  </form>
  <script language="javascript">
   function validateLogin(){
    var sUserName = document.frmLogin.username.value ;
    var sPassword = document.frmLogin.password.value ;
    if ((sUserName =="") || (sUserName=="Your name")){
     alert("请输入用户名!");
     return false ;
    }
    
    if ((sPassword =="") || (sPassword=="Your password")){
     alert("请输入密码!");
     return false ;
    }
   }
  </script>
 </body>
</html>
RuHua27 2015-03-23
  • 打赏
  • 举报
回复
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>test1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  <servlet>
    <description></description>
    <display-name>LoginServlet</display-name>
    <servlet-name>LoginServlet</servlet-name>
    <servlet-class>org.cai.servlet.LoginServlet</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>LoginServlet</servlet-name>
    <url-pattern>/LoginServlet</url-pattern>
  </servlet-mapping>
</web-app>

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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