Servlet.service() for servlet jsp threw exception java.lang.NullPointerException

shaojunliang001 2012-06-13 08:18:58
2012-6-13 20:04:13 org.apache.catalina.core.StandardWrapperValve invoke
严重: Servlet.service() for servlet jsp threw exception
java.lang.NullPointerException
at com.etp.conn.connextSql.insTes(connextSql.java:77)
at org.apache.jsp.Tes2.Input2_jsp._jspService(Input2_jsp.java:116)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:386)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

我实在找不到问题出在哪,唉?

...全文
11138 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
cxw3152 2012-06-19
  • 打赏
  • 举报
回复
空指针异常 DEBUG一下你的程序 应该不难。。
shaojunliang001 2012-06-19
  • 打赏
  • 举报
回复
好像是jdk没有装好,还是少个servlet_api.jar什么的。
现在我用servelet 可以用了,谢谢各位的热心解答。
无可救药 2012-06-15
  • 打赏
  • 举报
回复
com.etp.conn.connextSql.insTes(connextSql.java:77)
五哥 2012-06-14
  • 打赏
  • 举报
回复
com.etp.conn.connextSql.insTes(connextSql.java:77)
你好毒你好毒 2012-06-14
  • 打赏
  • 举报
回复
connextSql.java:77

你还有java类名是这样写的啊。。。

看看吧,connextSql第77行
  • 打赏
  • 举报
回复
不知道你的jsp具体是要干什么。

如果你是想从数据库把值取出来在页面显示的话,应该在页面上先调用你类里面的selName()方法,然后写for循环把值显示在页面上,代码如下
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@page import="com.etp.conn.connextSql; "%>
<%connextSql sqs=new connextSql();%>
<%ArrayList lis = sqs.selName();%>
<html>
<body>
<h3> =测下得到值了没!</h3> <br>
<%for(int i=0;i<lis.size();i++){%>
<%=lis.get(i)%><br />
<%}%>
<% %>
</body>
</html>

如果你是要把页面上的值插入数据库,如果是你从后台取到的值,如上面的那个lis.get(0);那你可以直接用,但是如果你是想取页面上标签的值,像div或是input里的值的话,就只能传到后台才能被java拿到,你想直接在页面调用后台方法,把前台值传过去是不可能的。所以还是用servlet吧。
erxij 2012-06-14
  • 打赏
  • 举报
回复
你用的什么工具啊?MyEclipse点击出错的信息后面的段就可以跳转到相应该的代码段了。
这段代码说的是你的conn是null,就是你建立数据库链接失败了。
shaojunliang001 2012-06-14
  • 打赏
  • 举报
回复
谢谢各位仁兄来帮忙,我现在把我用的jsp页和java代码贴出来。下面是:Input2.jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>


<%@page import="com.etp.conn.connextSql "%>



<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<%
connextSql sqs=new connextSql();

%>
<% String tx0=request.getParameter("tes0");
String tx1=request.getParameter("tes1");
String tx2=request.getParameter("tes2");
String tx3=request.getParameter("tes3");

%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">

<title>My JSP 'Input2.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

</head>

<body>
<h3> =测下得到值了没!</h3>. <br>
<%=tx0 %><br>
<br><%=tx1 %>
<br><%=tx2 %>
<br><%=tx3 %>

<%sqs.insTes(tx0); %>

<br>


</body>
</html>
下面是用到的connextSql.java的代码:
package com.etp.conn;

import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;

import com.mysql.jdbc.Connection;

public class connextSql {

public java.sql.Connection conn = null;
PreparedStatement pr= null ;
ResultSet rs=null;



public java.sql.Connection Connectionsta (){

try{
//����MySql������
Class.forName("com.mysql.jdbc.Driver") ;
}
catch(ClassNotFoundException e){
System.out.println("1连接出问题!");
e.printStackTrace() ;

}
String url="jdbc:mysql://localhost:3307/test?useUnicode=true&characterEncoding=UTF-8";
try {
conn= DriverManager.getConnection(url,"root","123456");
//System.out.println(conn);
} catch (SQLException e) {
// TODO Auto-generated catch block
System.out.println("2连接出问题!");
e.printStackTrace();
}
//System.out.println(conn);
return conn;


}

//只是用来测试选出数据的操作

public ArrayList selName(){
ArrayList lis=new ArrayList();

try {
pr=conn.prepareStatement("SELECT * from ts1");
rs=pr.executeQuery();

while(rs.next()){
rs.getInt(1);

//System.out.println(s);
lis.add( rs.getString(2)) ;
//System.out.println(k);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.print("mysql操作异常.");
}
//System.out.println(lis);

return lis;

}


//只是用来测试插入数据的操作
public void insTes(String x){

try {
pr=conn.prepareStatement("insert into ts1 values(?,?)");
//System.out.println(pr);
//System.out.println(conn);

pr.setInt(1, 0);
pr.setString(2, ""+x+"");
pr.executeUpdate();

} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("连接mysql出错");
}
}

//以下主要是用主函数进行测试之用。

public static void main(String args[]){
connextSql ct=new connextSql();
ct.Connectionsta();

ct.insTes("A1只是来测试一下哦223") ;
}


}

我想补充一下,我本来是用servlet 做的,可是总报错,改为jsp也是这样,唉,搞死我了。
我用java里面做的话反而不出问题。可我想需要取网页里的值,不知哪个大神帮下小弟看看,感谢不尽。
nmyangym 2012-06-13
  • 打赏
  • 举报
回复
空指针异常,看看这句对应的jsp文件。
at org.apache.jsp.Tes2.Input2_jsp._jspService(Input2_jsp.java:116)

81,123

社区成员

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

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