Java Servlet不更新数据库

时间:2014-05-19 12:01:02

标签: java mysql servlets post

我正在尝试编写一个Servlet,它将处理HTML POST数据并实现参数及其值,然后将条目添加到表“orderdetails”上的数据库Orders。

然后应该在表中写入参数并为列写入与传递参数相同的值(如果参数为“orderID”,则应将其值写入“orderID”列)

以下是我的代码,目前甚至没有在数据库中添加数据。

import java.io.*;
import java.util.*;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class QueryServlet extends HttpServlet  
{
    protected void doPost(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException
    {
        PrintWriter pw=res.getWriter();
        res.setContentType("text/html");

        Connection conn = null;


        Map m = req.getParameterMap();
        Set s = m.entrySet();
        Iterator it = s.iterator();

            while(it.hasNext()){

                Map.Entry<String,String[]> entry = (Map.Entry<String,String[]>)it.next();

                String key             = entry.getKey();
                String[] value         = entry.getValue();

                pw.println("Key is "+key+"<br>");

                    if(value.length>1){    
                        for (int i = 0; i < value.length; i++) {
                            pw.println("<li>" + value[i].toString() + "</li><br>");
                        }
                    }else
                            pw.println("Value is "+value[0].toString()+"<br>");

                    pw.println("-------------------<br>");

                    try {
                        conn = DriverManager.getConnection(
                        "jdbc:mysql://localhost:3306/orders", "root", "root");
                        String sqlStr = "insert into orderdetails("+key+")"
                        + "values(?)";
                        try (PreparedStatement stmt = conn.prepareStatement(sqlStr)) {
                        stmt.setString(1, value[0].toString());
                        int updateCount = stmt.executeUpdate();
                        }

                    } catch (SQLException ex) {
                        ex.printStackTrace();
                        }



                }

        pw.close();    
    }
}

你能帮我解决这个问题吗?除了尝试制作这个Servlet之外,我几乎没有Java经验。

干杯

0 个答案:

没有答案