마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

jsp로 어플에서 보내온 텍스트를 받아서 mysql에 넣으려고 하는데 자꾸 에러가..

0 추천
<%@ page language="java" contentType="text/html; charset=euc-kr" 
 pageEncoding="euc-kr"%>

<%@ page import="java.sql.*,javax.sql.*,javax.naming.*" %>

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
        <title>Insert title here</title>
    </head>
    <body>
<%
 request.setCharacterEncoding("euc-kr");

 String text = request.getParameter("text");
 String uuid = request.getParameter("uuid");
 String nick = request.getParameter("nick");
 String lat = request.getParameter("lat");
 String lon = request.getParameter("lon");
 String clock = request.getParameter("clock");
 

Connection conn = null;
Statement stmt = null;
try{
 Class.forName("com.mysql.jdbc.Driver");
 conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/webdb?useUnicode=true&characterEncoding=euckr","root","armoor2");
 stmt = conn.createStatement();
 String command = String.format("insert into board" + "(uuid, nick, text, lat, lon, clock) values ('%s','%s','%s','%s','%s','%s');",uuid, nick, text, lat, lon, clock);
 int rowNum = stmt.executeUpdate(command);
 if(rowNum<1)
  throw new Exception("데이터를 DB에 입력할 수 없습니다.");
}finally{
 try{
 stmt.close();
}catch(Exception ignored){
 
}try{
 conn.close();
}catch(Exception ignored){
 }
}



%>
  </body>
</html>

int rowNum = stmt.executeUpdate(command);

이 부분이 HTTP Status 500에러가 납니다.  

out.println으로 검사해보니 텍스트는 잘 받아온 거 같은데 자꾸 이러니 머리가 아프네요.. ㅠ

어플에서 텍스트를 안 보내고 실행하면 mysql에 null값이 들어가는 걸 보니 sql문도 에러가 없는 거 같구..

머리가 (370 포인트) 님이 2014년 5월 23일 질문
머리가님이 2014년 5월 23일 수정
예. 소스 문제가 아니라 테이블 문제였네요...
한글 넣으려고 euckr로 하다보니..
테이블 생성시 꼭 끝에 ENGINE=MyISAM DEFAULT CHARSET="euckr"; 를 넣어줘야 에러가 안 생기네요.. ㅠ

답변 달기

· 글에 소스 코드 보기 좋게 넣는 법
· 질문에 대해 추가적인 질문이나 의견이 있으면 답변이 아니라 댓글로 달아주시기 바랍니다.
표시할 이름 (옵션):
개인정보: 당신의 이메일은 이 알림을 보내는데만 사용됩니다.
스팸 차단 검사:
스팸 검사를 다시 받지 않으려면 로그인하거나 혹은 가입 하세요.
...