2012-04-17 2 views
0

удалось собрать в JSP с NetBeans из стекла рыбы server3.1.2, она показывает следующее исключениеorg.apache.jasper.JasperException: PWC6033: Ошибка в JAVAC компиляции для JSP

org.apache.jasper.JasperException: PWC6033: Error in Javac compilation for JSP 

PWC6197: An error occurred at line: 9 in the jsp file: /index.jsp 
PWC6199: Generated servlet error: 
';' expected 

PWC6197: An error occurred at line: 9 in the jsp file: /index.jsp 
PWC6199: Generated servlet error: 
';' expected 

PWC6197: An error occurred at line: 9 in the jsp file: /index.jsp 
PWC6199: Generated servlet error: 
not a statement 

PWC6197: An error occurred at line: 9 in the jsp file: /index.jsp 
PWC6199: Generated servlet error: 
';' expected 

мой Java и JSP-код

<%@page contentType="text/html" pageEncoding="UTF-8" %> 
<%@page language="java" import= "java.sql.*"%> 
<% 
String driver="org.postgresql.Driver"; 
Class.forName(driver).newInstance(); 
Connection con=null; 
ResultSet rst=null; 
Statement stmt=null; 
try 
{ 
    String url="jdbc:postgresql://localhost:5432/ksa?user="postgres"password="postgres""; 
    con=DriverManager.getConnection("url"); 
    stmt=con.createStatement(); 
}   
catch(Exception e) 
       { 
    System.out.println(e.getMessage()); 
     } 
if(request.getParameter("action")!=null) 
     { 
      String name=request.getParameter("name"); 
      String address=request.getParameter("address"); 
      String id=request.getParameter("id"); 
      stmt.executeUpdate("insert into cd values('"+ name +"','"+ address +"')"); 
      rst=stmt.executeQuery("select * from cd");    
     }  
%> 

NetBeans показывает ошибку в строке

String url="jdbc:postgresql://localhost:5432/ksa?user="postgres"password="postgres""; 

IAM, используя postgresql9.1, то г lassfish журнал показывает следующее

SEVERE: Error compiling file: /home/adapco/.netbeans/7.1.1/config/GF3_1/domain1 /generated/jsp/cddata/org/apache/jsp/index_jsp.java 
WARNING: StandardWrapperValve[jsp]: PWC1406: Servlet.service() for servlet jsp threw exception 
+0

Только одно (несвязанное) предупреждение: 'stmt.executeUpdate (" insert into cd values ​​('"+ name +"', '"+ address +"') ");' является классическим примером [SQL injection уязвимость] (http://en.wikipedia.org/wiki/SQL_injection), поэтому убедитесь, что вы не используете его в производстве ... – beny23

+0

@beny: любые альтернативные решения для решения этой проблемы – ksa

+0

Это другой вопрос, но в основном вы должны использовать подготовленные операторы с переменными привязки. – beny23

ответ

0

Эта строка неверна:

String url="jdbc:postgresql://localhost:5432/ksa?user="postgres"password="postgres"; 

Оно должно быть:

String url="jdbc:postgresql://localhost:5432/ksa?user=\"postgres\"&password=\"postgres\""; 

Update:

Кстати:

con=DriverManager.getConnection("url"); 

должно быть:

con=DriverManager.getConnection(url); 
+0

Я получаю эту ошибку org. apache.jasper.JasperException: java.lang.NullPointerException после исправления строки – ksa

+0

Взгляните на свой код и исключение. Сделайте доступ к журналу и исправьте его. –

0

Я думаю, что это небольшая неправильно, ваш «{» и «}» не совпадают, и я встретил тот же вопрос.

Смежные вопросы