オンラインフォーム用にサーブレットを作成しましたが、オンラインフォームを送信しようとするたびに、次の例外が発生します:java.lang.NumberFormatException:入力文字列: ""。問題は、jspファイルにString変数がないことです。もう一つは、オンラインフォームのすべてのフィールドに記入しようとすると、情報がデータベースに送られますが、私はこれをいくつかだけ試してみると、もう例外が出ます。これは私のコードです:サーブレット文字列例外
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import database.databases;
/**
* Servlet implementation class feildsSERVLET
*/
public class feildsSERVLET extends HttpServlet
{
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public feildsSERVLET()
{
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException
{
try
{
Class.forName("com.mysql.jdbc.Driver");
Connection connection = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/WhizzoChocolate", "root", "");
try
{
/*
* int customerID = Integer.parseInt(request
* .getParameter("customerID"));
*/
int frog = Integer.parseInt(request.getParameter("frog"));
int redspring = Integer.parseInt(request.getParameter("redspring"));
int bluespring = Integer.parseInt(request
.getParameter("bluespring"));
int silverspring = Integer.parseInt(request
.getParameter("silverspring"));
int ramsquare = Integer.parseInt(request.getParameter("ramsquare"));
int ramoval = Integer.parseInt(request.getParameter("ramoval"));
int ramhex = Integer.parseInt(request.getParameter("ramhex"));
int rambutt = Integer.parseInt(request.getParameter("rambutt"));
int product_id = Integer.parseInt(request
.getParameter("product_id"));
Statement statement = connection.createStatement();
int upd = statement
.executeUpdate("INSERT INTO `product`(`product_id`, `RWA`, `BWA`,`SWA`, `OSA`,`SSA`,`HSA`,`BSA`)"
+ "VALUES" + "(" + product_id
+ frog
+ ", "
+ redspring
+ ", "
+ bluespring
+ ", "
+ silverspring
+ ", "
+ ramoval
+ ", "
+ ramsquare
+ ", "
+ ramhex
+ ", " + rambutt + ")");
request.setAttribute("product_id", product_id);
request.setAttribute("frog", frog);
request.setAttribute("redspring", redspring);
request.setAttribute("bluespring", bluespring);
request.setAttribute("silverspring", silverspring);
request.setAttribute("ramsquare", ramsquare);
request.setAttribute("ramoval", ramoval);
request.setAttribute("ramhex", ramhex);
request.setAttribute("rambutt", rambutt);
}
finally
{
connection.close();
}
}
catch (Exception e)
{
throw new ServletException(e);
}
ServletContext context = getServletContext();
RequestDispatcher dispatcher = context
.getRequestDispatcher("/feildsjsp.jsp");
dispatcher.forward(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
protected void doPost(HttpServletRequest request,
HttpServletResponse response) throws ServletException, IOException
{
// TODO Auto-generated method stub
}
}
あなたは 'request.getParameter(「XXX」)を持っているたびに、'あなたは文字列を持って、空の文字列を解析します。 –