2014-10-30 4 views
0

Так что это, наверное, что-то простое, но я все еще не могу разобраться в этом сам. Что это значит?Ошибка компиляции <identifier> ожидается

GET.java:27: error: <identifier> expected 
     out.println("</p></body></html>"); 
       ^
GET.java:27: error: illegal start of type 
     out.println("</p></body></html>"); 

Это код для моего Java Servlet:

import java.io.*; 
    import java.util.*; 
    import javax.servlet.*; 
    import javax.servlet.http.*; 

    public class GET extends HttpServlet { 
    public void doGet(HttpServletRequest req, HttpServletResponse res) 
         throws ServletException, IOException { 
     res.setContentType("text/html"); 
     PrintWriter out = res.getWriter(); 
     FileOutputStream fos = new FileOutputStream("/tmp/prdocutorders.txt"); 
     PrintWriter pw = new PrintWriter(fos); 
     out.println("<html><body><p>"); 
     pw.println("<h3>Congratulations! Your order information:</h3>"); 
     Enumeration e = req.getParameterNames(); 
     while (e.hasMoreElements()) { 
     String name = (String)e.nextElement(); 
     String vals[] = (String[])req.getParameterValues(name); 
     if (vals != null) 
      for (int i = 0; i < vals.length; i++) 
      out.println(name + ": " + vals[i] + "<br>"); 
     } 
     if (vals != null) 
      for (int i = 0; i < vals.length; i++) 
      pw.println(name + ": " + vals[i] + "<br>"); 
     } 
     out.println("</p></body></html>"); 
    // out.close(); 
    } 

Спасибо за любую помощь !!

+1

Отклоните свой код. Регулярно используйте фигурные скобки. –

ответ

2

Балансировочные фигурные скобки: обязательно. У вас есть потерянные скобки перед оператором out.println("</p></body></html>");

В качестве примечания, что легче поймать ошибку, как что

  • всегда с помощью скобок
  • правильно отступы код

Изменить: некоторые части вашего кода кажутся неправильными, возможно, вы захотите этого:

while (e.hasMoreElements()) { 
    String name = (String) e.nextElement(); 
    String vals[] = (String[]) req.getParameterValues(name); 
    if (vals != null) { 
     for (int i = 0; i < vals.length; i++) { 
      out.println(name + ": " + vals[i] + "<br>"); 
      pw.println(name + ": " + vals[i] + "<br>"); 
     } 
    } 
} 
out.println("</p></body></html>"); 
+0

Спасибо! По какой-то причине это не нравится vals now tho .. "не может найти символ", хотя я объявляю его – user2962334

+1

Вы объявляете его в другом блоке. Каждый блок имеет свою собственную область. –

+0

Второй блок 'if (vals! = Null)' кажется нежелательным или неуместным –

0

Ваш

if (vals != null) { //has no opening bracket 

Вам нужно добавить {к коду. Или вам нужно удалить} прямо до

out.println("</p></body></html>"); 
Смежные вопросы