登録プログラムについて
java初心者です。
以下のようなコーディングをしたのですが、エラーがでてcatchされているみたいで、データベースに登録されません。sessionのところがおかしいと思うのですが、わかる方どうか教えてください。logではException: nullと表示されています。
まずHtmlで入力処理してます。
つぎに
tourokuAddServlet//
package ltcinfo;
import java.io.*;
import javax.servlet.http.*;
import javax.servlet.*;
public class tourokuAddServlet extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
request.setCharacterEncoding("Windows-31J");
response.setContentType("text/html;charset=Windows-31J");
PrintWriter out=response.getWriter();
HttpSession session = request.getSession(true);
tourokuBeans reco=new tourokuBeans();
reco.setgakusekino(Integer.parseInt(request.getParameter("gakusekino")));
reco.setpasswd(request.getParameter("passwd"));
reco.setclassid(Integer.parseInt(request.getParameter("classid")));
session.setAttribute("reco", reco);
~省略(あとは確認画面の表示をしています)次にLTCInfoServlet//戻ると登録の選択処理
package ltcinfo;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class LTCInfoServlet extends HttpServlet {
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException
{
HttpSession session = request.getSession(true);
tourokuBeans reco=(tourokuBeans)session.getAttribute("reco");
int check=Integer.parseInt(request.getParameter("check"));
if (check==1){
reco.insert();
getServletContext().getRequestDispatcher("/tourokuReport.jsp")
.forward(request, response);
}else{
getServletContext().getRequestDispatcher("/touroku.html")
.forward(request, response);
}
tourokuBeans//
setとget文
public void insert(){
HttpSession session = request.getSession(true);
tourokuBeans reco=(tourokuBeans)session.getAttribute("reco");
try{
Class.forName("org.gjt.mm.mysql.Driver");
String url="jdbc:mysql://localhost/sotsuken?useUnicode=true&characterEncodning=SJIS";
Connection con=DriverManager.getConnection(url,"root","root");
Statement stmt=con.createStatement();
int gakusekino = reco.getgakusekino();
String passwd = reco.getpasswd();
int classid=reco.getclassid();
String values = "(\'"+gakusekino+"\', \'"+passwd+"\', \'"+classid+"\', \'"+name+"\', \'"+mail+"\', \'"+keitel+"\', \'"+keimail+"\', \'"+touroku+"\')"; String sql = "insert into gakuseitbl values " + values; stmt.executeUpdate(sql);
stmt.close();
con.close();
}catch(Exception ex) {
System.out.println("Exception: " + ex.getMessage());
System.out.println("失敗");
}
}
}
お礼
ご回答ありがとうございます。ところでServlet APIのバージョンとはどうやって調べれば良いのでしょうか。