当前页面: 开发资料首页 → JSP 专题 → 一个关于servlet的小问题
一个关于servlet的小问题
摘要: 一个关于servlet的小问题
刚写了一个简单的servlet类,用于从表单获取数据 然后进行数据库查询
代码如下
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet
{
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
String c=null;
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String a=request.getParameter("param1");
c=getSth(request,response,a);
out.println("<body>"+c+"</body>");
}
public String getSth(HttpServletRequest request,HttpServletResponse response,String a)
{
String c=null;
String sql= "select * from [member] where mas_id='"+a+"'";
sqlBean b=new sqlBean();
try
{
ResultSet rs=b.executeQuery(sql);
if(rs.next())
{
c=rs.getString("mas_pwd");
}
}
catch(Exception e){}
return c;
}
}
在tomcat5.5上的调试结果是null,
我测试了getSth部分的代码,可以正确的从数据库里面取出mas_pwd
单独测试了getParameter方法 也能得到正确的表单数据
是程序问题?还是服务器问题?
在下刚开始学着写servlet,请各位大虾指点迷津
顶上来
form的method是get还是post?
得到表单的数据得在doPost方法中
顶楼上的
doPost(.....){
doGet(....);
}
把方法改成了doPost(),可是还是不行,我把相关文件都发上来吧,我连接的数据库是sql server2000 用的ODBC桥接 是不是需要对Tomcat进行相关配置呢?
[Test.java]
import java.sql.*;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Test extends HttpServlet
{
public void doPost(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
String c=null;
response.setContentType("text/html");
PrintWriter out=response.getWriter();
String a=request.getParameter("param1");
c=getSth(request,response,a);
out.println("<body>"+c+"</body>");
}
public void doGet(HttpServletRequest request,HttpServletResponse response)throws ServletException,IOException
{
doPost(request,response);
}
public String getSth(HttpServletRequest request,HttpServletResponse response,String a)
{
String c=null;
String sql= "select * from [member] where mas_id='"+a+"'";
sqlBean b=new sqlBean();
try
{
ResultSet rs=b.executeQuery(sql);
if(rs.next())
{
c=rs.getString("mas_pwd");
}
}
catch(Exception e){}
return c;
}
}
------------------------------------------------------------------------------------
[sqlBean.java]
import java.sql.*;
public class sqlBean {
public Connection conn =null;
public ResultSet res=null;
private String DatabaseDriver="sun.jdbc.odbc.JdbcOdbcDriver";
private String url="jdbc:odbc:mas";
private String user="Jay";
private String pwd="123";
public sqlBean()
{
try{
Class.forName(DatabaseDriver);
}
catch(java.lang.ClassNotFoundException e)
{
System.out.println("can't reg database driver");
}
}
public int executeInsert(String sql)
{
int num=0;
try{
Connection conn=DriverManager.getConnection(url,user,pwd);
Statement smt= conn.createStatement();
num=smt.executeUpdate(sql);
smt.close();
}
catch(SQLException ex)
{
System.out.println("执行插入有错误");
}
finally
{
try{conn.close();}
catch (Exception e){}
}
return num;
}
public ResultSet executeQuery(String sql)
{
res=null;
try{
Connection conn=DriverManager.getConnection(url,user,pwd);
Statement smt= conn.createStatement();
res=smt.executeQuery(sql);
}
catch(SQLException ex)
{
System.out.println("执行查询有错误");
}
finally
{
try{conn.close();}
catch (Exception e){}
}
return res;
}
}
-----------------------------------------------------------------------------------
[Para2.htm]
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<head>
haha</head>
<body>
<form action="/servlet/Test" method="post">
<input type="text" name="param1">
<input type="text" name="param2">
<input type="text" name="param3">
<input type="submit" value="提交">
</form>
</body>
------------------------------------------------------------------------------------
[web.xml]
<?xml version="1.0" encoding="ISO-8859-1"?>