Форум программистов, компьютерный форум, киберфорум
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.70/50: Рейтинг темы: голосов - 50, средняя оценка - 4.70
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1

IntelliJ IDEA + JavaEE (JSP) не видит класс после деплоя

15.05.2013, 11:37. Показов 9780. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Делал авторизацию для страницы. Не понимаю в чем дело: после развертки "HTTP Status 500 - Error instantiating servlet class com.example.model.LoginServlet". apache+tomcat.
Может в коде где-то ошибка. Собственно вот:
Див с авторизацией из index.jsp
HTML5
1
2
3
4
5
6
7
8
9
            <div id="login">
                <form method="GET" action="LoginServlet">
                    Login <input type="text" name="login">
                    <p>
                        Password <input type="password" name="password">
                    <p>
                    <input type="submit" value="submit"/>
                </form>
            </div>
LoginBean
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
public class LoginBean {
    private String username;
    private String password;
    private String firstName;
    private String lastName;
    public boolean valid;
    public String getFirstName(){
        return firstName;
    }
    public void setFirstName(String newFirstName){
        firstName = newFirstName;
    }
    public String getLastName(){
        return lastName;
    }
    public void setLastName(String newLastName){
        lastName = newLastName;
    }
    public String getPassword(){
        return password;
    }
    public void setPassword(String newPassword){
        password = newPassword;
    }
    public String getUsername(){
        return username;
    }
    public void setUsername(String newUsername){
        username = newUsername;
    }
    public boolean isValid(){
        return valid;
    }
    public void setValid(boolean newValid){
        valid = newValid;
    }
}
LoginDAO
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
 
public class LoginDAO {
    static Connection currentCon = null;
    static ResultSet rs = null;
    public static LoginBean login(LoginBean bean){
        Statement stmt = null;
        String username = bean.getUsername();
        String password = bean.getPassword();
        String searchQuery = "select * from test where LOGIN='" + username + "' AND PASSWORD='" + password + "'";
 
        try{
            //connecting to DB
            currentCon = ConnectionManager.getConnection();
            stmt = currentCon.createStatement();
            rs = stmt.executeQuery(searchQuery);
            boolean userExists = rs.next();
 
            if(!userExists){
                System.out.println("user not found");
                bean.setValid(false);
            }
            else if (userExists){
                String firstName = rs.getString("FirstName");
                String lastName = rs.getString("LastName");
                System.out.println("Welcome" + firstName);
                bean.setFirstName(firstName);
                bean.setLastName(lastName);
                bean.setValid(true);
            }
        }
        catch (Exception ex){
            System.out.println("Login failed" + ex);
        }
        return bean;
    }
}
LoginServlet
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
 
public class LoginServlet extends HttpServlet {
    private static final long serialVersionUID = 1L;
    public LoginServlet() {
        super();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        try
        {
            System.out.println("In the login servlet");
            LoginBean user = new LoginBean();
            user.setUsername(request.getParameter("login"));
            user.setPassword(request.getParameter("password"));
            user = LoginDAO.login(user);
            if(user.isValid()){
                HttpSession session = request.getSession(true);
                session.setAttribute("currentSessionUser", user);
                response.sendRedirect("LoginSuccess.jsp");
            }
            else {
                response.sendRedirect("register.jsp");
            }
        }
        catch (Throwable exc) {
            System.out.println(exc);
        }
    }
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
 
    }
}
web.xml
XML
1
2
3
4
5
6
7
8
9
10
    <display-name>LoginExample</display-name>
    <servlet>
        <display-name>LoginServlet</display-name>
        <servlet-name>LoginServlet</servlet-name>
        <servlet-class>com.example.model.LoginServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>LoginServlet</servlet-name>
        <url-pattern>/LoginServlet</url-pattern>
    </servlet-mapping>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
15.05.2013, 11:37
Ответы с готовыми решениями:

Перестал находить файлы .jsp после сборки Maven в IntelliJ IDEA
Есть web проект Maven с SpringBoot и Tomcat. странички сайта в формате .jsp для упрощения создал в application.properties такую...

JavaEE SDK для IntelliJ IDEA 11 Ultimate Edition
Сабж. Нужен или нет?

jsp и intellij idea (не реагирует на изменение jsp нишка)
есть web проект , файл jsp где в html прописаны divы и подключены cssники , я могу менять вид сайта изменяя css , но изменения jsp браузер...

21
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 12:02
В тексте с классом LoginServlet не вижу указания пакета, хотя в web.xml точно сказано, что класс LoginServlet лежит в пакете com.example.model
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 12:14  [ТС]
не, там все нормально с пакетами. Для всех классов:
Java
1
package com.example.model;
Просто забыл изначально добавить в код, который скопировал сюда в оригинале все ок
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 12:31
Сервлет - рабочий: скопировал в проект, сервлет инстанцируется.
Ты полностью код скинул? В какой момент возникает ошибка?
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 12:41  [ТС]
проект нормально собирается, запускается веб-сервер, выводится index.jsp, но после вводи логина и пароля возникает 500-ая ошибка.
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 12:44
На странице с ошибкой должен быть StackTrace, там подробно описана ошибка, исключение, и строчка кода, где возникло исключение. Всю эту информацию в студию, пожалуйста!
Без этого можно долго гадать о причинах ошибки.
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 12:47  [ТС]
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html><head><title>Apache Tomcat/7.0.39 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - Error instantiating servlet class com.example.model.LoginServlet</h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u>Error instantiating servlet class com.example.model.LoginServlet</u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: Error instantiating servlet class com.example.model.LoginServlet
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:722)
</pre></p><p><b>root cause</b> <pre>java.lang.ClassNotFoundException: com.example.model.LoginServlet
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:722)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.39 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.39</h3></body></html>
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 12:50
Класс не найден!
Как собираете проект? как деплоите приложение в томкате? Где лежат исходные тексты? Куда кладете файлы *.class ?
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 12:54  [ТС]
В IDE не менял настройки развертки по умолчанию. Вообще, собранные классы лежат в каталоге out, но я пробовал и вручную перенести собранные классы в каталог model. Эффект тот же. Не исключено, что неправильно настроена IDE.
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 12:56
Наверное, будет лучше, если Вы запостите скриншот используемой IDE с развернутой вкладкой структуры проекта.
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 13:02  [ТС]
http://img14.imageshost.ru/img... _small.png
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 13:10
'untitled3' compile output должно быть внутри WEB-INF/classes
Создайте эти папки на вкладке Output layout внутри <output root> и переместите 'untitled3' compile output в classes
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 13:25  [ТС]
Вот что сделал.
http://img14.imageshost.ru/img... _small.png
Желаемых результатов, к сожалению, не принесло.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<html><head><title>Apache Tomcat/7.0.39 - Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>HTTP Status 500 - Error instantiating servlet class com.example.model.LoginServlet</h1><HR size="1" noshade="noshade"><p><b>type</b> Exception report</p><p><b>message</b> <u>Error instantiating servlet class com.example.model.LoginServlet</u></p><p><b>description</b> <u>The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>exception</b> <pre>javax.servlet.ServletException: Error instantiating servlet class com.example.model.LoginServlet
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:722)
</pre></p><p><b>root cause</b> <pre>java.lang.ClassNotFoundException: com.example.model.LoginServlet
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1713)
    org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1558)
    org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
    org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
    org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:947)
    org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1009)
    org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
    org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
    java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    java.lang.Thread.run(Thread.java:722)
</pre></p><p><b>note</b> <u>The full stack trace of the root cause is available in the Apache Tomcat/7.0.39 logs.</u></p><HR size="1" noshade="noshade"><h3>Apache Tomcat/7.0.39</h3></body></html>
0
 Аватар для Skipy
2000 / 1427 / 92
Регистрация: 25.11.2010
Сообщений: 3,611
15.05.2013, 13:49
Ладно, поставим вопрос по-другому. У Вас есть war-файл. Это обычный zip, откройте его любым архиватором. Внутри есть директория /WEB-INF/classes. Вот в ней лежит сервлет? В смысле, com/example/model/LoginServlet.class?
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 13:59  [ТС]
Если не ошибаюсь, то когда я задаю Web Application: Exploded, то IDE не создает варников, а выгружает в томкэт "как есть". В любом случае, пробежался поиском, варов с заголовком проекта не нашел (да и вообще никаких, кроме sample.war, который изначально в томкэте).
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
15.05.2013, 14:16
Output directory не нужно было трогать.
Должно было быть примерно так.
Здесь sport-store - это мое приложение, у Вас это untitled3
1
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
15.05.2013, 14:27  [ТС]
Огромное спасибо! Все заработало
0
 Аватар для Gepar
1186 / 543 / 78
Регистрация: 01.07.2009
Сообщений: 3,517
16.05.2013, 20:04
Цитата Сообщение от nobless1368 Посмотреть сообщение
то IDE не создает варников, а выгружает в томкэт "как есть"
Томкет так не умеет же, естетсвенно она создаёт war
0
 Аватар для nobless1368
14 / 14 / 2
Регистрация: 04.06.2012
Сообщений: 124
Записей в блоге: 1
16.05.2013, 21:04  [ТС]
Проверял и во время деплоя и до него, и после. Варов кроме sample.war не найдено на всем жестком диске. Понятия не имею как IDEA разворачивает, но факт есть факт...
0
66 / 55 / 11
Регистрация: 16.04.2010
Сообщений: 190
Записей в блоге: 1
17.05.2013, 10:34
Цитата Сообщение от Gepar Посмотреть сообщение
Томкет так не умеет же, естетсвенно она создаёт war
Все он умеет: war - это только способ распространения приложений.
Tomcat распаковывает war например в папке webapps.
Но томкату можно указать путь, где расположены файлы web-приложения: для этого есть элемент Context и его атрибут docBase.
XML
1
2
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/sport-store" docBase="D:\Projects\sportstore\target\sport-store" />
Так IDEA и делает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.05.2013, 10:34
Помогаю со студенческими работами здесь

IntelliJ Idea, не компилируется класс после Exclude from compilation...
Я случайно нажал на &quot;Exclude from compilation...&quot; вместо &quot;Hide Warning Message&quot; в меню сообщений в IntelliJ Idea и теперь не могу найти,...

JSP и Intellij Idea
Добрый вечер, не могу разобраться с одной &quot;проблемой&quot; уже 4 часа. Не могу запустить даже пустой(дефолтный) jsp-файл. Если запускаю...

Файл стилей (css) и jsp в Intellij Idea
Всем доброго времени суток. Подскажите, как заставить Intellij Idea подключать файл css стилей к jsp странице? Файл стилей лежит в одной...

Ошибка 404. Проект maven intellij idea jsp + servlet
Создал проект maven в intellij idea jsp и servlet. 2 день не могу разобраться что не так. Пустой проект по сути сервлет не коннектится с...

Как добавить в контекстное меню - создание JSP по шаблону в IntelliJ Idea ?
Как добавить в контекстное меню - создание JSP по шаблону? При создании обычного веб-проекта - это возможно. При создании...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение Это мой обзор планшета X220 с точки зрения школьника. Недавно я решила попытаться уменьшить свой. . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru