Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > Как компилить сервлет


Автор: alafin 11.2.2007, 12:43
Всем привет!
Подскажите чем компилить сервлет? У меня стоит как JDK так и J2ee. Пытаюсь компилить с помощью обычного jdk типа:
javac ИмяФайла.java
но что-то он на отрез отказывается это делать, выдавая ошибки, даже на проверенные сервлеты, которые идут в качестве примеров с Tomcat.

Автор: Maksym 11.2.2007, 12:46
alafin
Ошибки и код в студию

Автор: alafin 11.2.2007, 12:51
Собственно вот тот самый сервлет, которые поставляется вместе с Tomcat:
Код

/*
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/* $Id: RequestParamExample.java 267129 2004-03-18 16:40:35Z jfarcand $
 *
 */

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

import util.HTMLFilter;

/**
 * Example servlet showing request headers
 *
 * @author James Duncan Davidson <[email protected]>
 */

public class RequestParamExample extends HttpServlet {


    ResourceBundle rb = ResourceBundle.getBundle("LocalStrings");
    
    public void doGet(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        response.setContentType("text/html");

        PrintWriter out = response.getWriter();
        out.println("<html>");
        out.println("<body>");
        out.println("<head>");

        String title = rb.getString("requestparams.title");
        out.println("<title>" + title + "</title>");
        out.println("</head>");
        out.println("<body bgcolor=\"white\">");

        // img stuff not req'd for source code html showing

    // all links relative

        // XXX
        // making these absolute till we work out the
        // addition of a PathInfo issue 
    
        out.println("<a href=\"../reqparams.html\">");
        out.println("<img src=\"../images/code.gif\" height=24 " +
                    "width=24 align=right border=0 alt=\"view code\"></a>");
        out.println("<a href=\"../index.html\">");
        out.println("<img src=\"../images/return.gif\" height=24 " +
                    "width=24 align=right border=0 alt=\"return\"></a>");

        out.println("<h3>" + title + "</h3>");
        String firstName = request.getParameter("firstname");
        String lastName = request.getParameter("lastname");
        out.println(rb.getString("requestparams.params-in-req") + "<br>");
        if (firstName != null || lastName != null) {
            out.println(rb.getString("requestparams.firstname"));
            out.println(" = " + HTMLFilter.filter(firstName) + "<br>");
            out.println(rb.getString("requestparams.lastname"));
            out.println(" = " + HTMLFilter.filter(lastName));
        } else {
            out.println(rb.getString("requestparams.no-params"));
        }
        out.println("<P>");
        out.print("<form action=\"");
        out.print("RequestParamExample\" ");
        out.println("method=POST>");
        out.println(rb.getString("requestparams.firstname"));
        out.println("<input type=text size=20 name=firstname>");
        out.println("<br>");
        out.println(rb.getString("requestparams.lastname"));
        out.println("<input type=text size=20 name=lastname>");
        out.println("<br>");
        out.println("<input type=submit>");
        out.println("</form>");

        out.println("</body>");
        out.println("</html>");
    }

    public void doPost(HttpServletRequest request,
                      HttpServletResponse response)
        throws IOException, ServletException
    {
        doGet(request, response);
    }

}


А это ошибки выдающиеся компилятором java после ввода команды
javac RequestParamExample.java
Ошибки:
D:\jdk1.5\bin>javac RequestParamExample.java
RequestParamExample.java:23: package javax.servlet does not exist
import javax.servlet.*;
^
RequestParamExample.java:24: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
RequestParamExample.java:26: package util does not exist
import util.HTMLFilter;
            ^
RequestParamExample.java:34: cannot find symbol
symbol: class HttpServlet
public class RequestParamExample extends HttpServlet {
                                         ^
RequestParamExample.java:39: cannot find symbol
symbol  : class HttpServletRequest
location: class RequestParamExample
    public void doGet(HttpServletRequest request,
                      ^
RequestParamExample.java:40: cannot find symbol
symbol  : class HttpServletResponse
location: class RequestParamExample
                      HttpServletResponse response)
                      ^
RequestParamExample.java:41: cannot find symbol
symbol  : class ServletException
location: class RequestParamExample
        throws IOException, ServletException
                            ^
RequestParamExample.java:99: cannot find symbol
symbol  : class HttpServletRequest
location: class RequestParamExample
    public void doPost(HttpServletRequest request,
                       ^
RequestParamExample.java:100: cannot find symbol
symbol  : class HttpServletResponse
location: class RequestParamExample
                      HttpServletResponse response)
                      ^
RequestParamExample.java:101: cannot find symbol
symbol  : class ServletException
location: class RequestParamExample
        throws IOException, ServletException
                            ^
RequestParamExample.java:76: cannot find symbol
symbol  : variable HTMLFilter
location: class RequestParamExample
            out.println(" = " + HTMLFilter.filter(firstName) + "<br>");
                                ^
RequestParamExample.java:78: cannot find symbol
symbol  : variable HTMLFilter
location: class RequestParamExample
            out.println(" = " + HTMLFilter.filter(lastName));
                                ^
12 errors

Автор: Maksym 11.2.2007, 13:19
Цитата

RequestParamExample.java:23: package javax.servlet does not exist
import javax.servlet.*;
^
RequestParamExample.java:24: package javax.servlet.http does not exist
import javax.servlet.http.*;
^
RequestParamExample.java:26: package util does not exist
import util.HTMLFilter;

Ну так он же написал, нет пакетов которые подключаются в импорте. Соответственно не может найти и классы из этих пакетов, о чем честно сообщается дальше. Подключи необходимые библиотеки, например скопировав их в SDK_HOME\jre\lib\ext

Автор: batigoal 11.2.2007, 15:12
Он не может найти J2EE-шные библиотеки. Подключи их при компиляции.

Автор: check 11.2.2007, 15:41
Другими словами возьми в tomcat_home/common/lib   servlet-api.jar и 
положи его в jdk_home/lib.  

Автор: alafin 11.2.2007, 16:01
А я сделал по другому. Взял выкачал j2ee и вытащил от туда библиотеку java2ee.jar и положил ее в SDK_HOME\jre\lib\ext  и все заработало.

Автор: Tony 11.2.2007, 18:45
Я так тоже делаю. 

Автор: Kee_Keekkenen 18.2.2007, 11:48
вообще-то обычно в переменную среды CLASSPATH добавляют полный путь к джару с указанием самого джар-файла

Автор: Vova_Bonch 31.10.2008, 22:04
У меня аналогичная ошибка. Я использую Net Beans 6.5 и apache tomcat 6.0.18
Собс-но в самой IDEшке в классе проекта import.javax.servlet.*; на что он пишет package javax.servlet doesn't exists. Я прописывал CLASSPATH и копировал servlet-api.jar в jdk.lib но безрезультатно. Подскажите пожалуйста  smile 

Автор: Samotnik 2.11.2008, 13:04
Vova_Bonch, в ИДЕ  не надо прописывать класспасс, там просто нужно подложить под проект свои жарки

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)