powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Как настроить доступ к классу из servlete
24 сообщений из 24, страница 1 из 1
Как настроить доступ к классу из servlete
    #39351377
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброго дня господа !

Написал сервлет, который ссылается на класс, при разработке проблем нет
при запуске сервера ругается на этот класс.
Что недоделал ? подскажите пожалуйста

Подключаемый класс Irr

Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
package Analitic;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.Field;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class WebInput
 */
@WebServlet("/WebInput")
public class WebInput extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public WebInput() 
    {
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doExecute(request, response,false);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doExecute(request, response,true);
	}

	protected void doExecute(HttpServletRequest request, HttpServletResponse response,boolean key) throws ServletException, IOException {
		// TODO Auto-generated method stub
		String id_contract_sap="";
		String program        ="";
		String network        ="";
		String credit_type    ="";
		String technology     ="";
		String total_price    ="0.0";
		String down_payment   ="0.0";
		String opening_rate   ="0.0";
		String monthly_rate   ="0.0";
		String act_rate       ="0.0";
		String ftp_rate       ="0.0";
		String sub0_rate      ="0.0";
		String sub1_rate      ="0.0";
		String comis_rate     ="0.0";
		String comis_rest     ="0.0";
		String duration       ="0";
		String grace          ="0";
		String insurance_type ="O";
		String insurance_tarif="0.0";
		String agent_rate     ="0.0";
		String sms_type       ="O";
		String sms_suma       ="0.0";
		String sms_rate       ="0.0";
		String nbi            ="0.0";
		
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.println("<form method=post action=WebInputPath>");
		InputStream is = getClass().getResourceAsStream("Txt/indicator.txt");
		InputStreamReader ir = new InputStreamReader(is);
		BufferedReader br = new BufferedReader(ir);
		String line = br.readLine();
		while (line !=null)
		{
			String part[] = line.split("\\"+"|");
			String value = (String) request.getParameter(part[0]);
		    value=(value==null)?part[4]:value;
			if (part[0].equals("id_contract_sap")) id_contract_sap=value;
			if (part[0].equals("program"))         program        =value;
			if (part[0].equals("network"))         network        =value;
			if (part[0].equals("credit_type"))     credit_type    =value;
			if (part[0].equals("technology"))      technology     =value;
			if (part[0].equals("total_price"))     total_price    =value;
			if (part[0].equals("down_payment"))    down_payment   =value;
			if (part[0].equals("opening_rate"))    opening_rate   =value;
			if (part[0].equals("monthly_rate"))    monthly_rate   =value;
			if (part[0].equals("act_rate"))        act_rate       =value;
			if (part[0].equals("ftp_rate"))        ftp_rate       =value;
			if (part[0].equals("sub0_rate"))       sub0_rate      =value;
			if (part[0].equals("sub1_rate"))       sub1_rate      =value;
			if (part[0].equals("comis_rate"))      comis_rate     =value;
			if (part[0].equals("comis_rest"))      comis_rest     =value;
			if (part[0].equals("duration"))        duration       =value;
			if (part[0].equals("grace"))           grace          =value;
			if (part[0].equals("insurance_type"))  insurance_type =value;
			if (part[0].equals("insurance_tarif")) insurance_tarif=value;
			if (part[0].equals("agent_rate"))      agent_rate     =value;
			if (part[0].equals("sms_type"))        sms_type       =value;
			if (part[0].equals("sms_suma"))        sms_suma       =value;
			if (part[0].equals("sms_rate"))        sms_rate       =value;
			if (part[0].equals("nbi"))             nbi            =value;
			if (part[0].equals("nbi") && (key))    
			{
				value          =Calculate(total_price,down_payment);
				System.out.println(id_contract_sap);
/*
				try {
					Irr a = new Irr(id_contract_sap,
							      	program,
							      	network,
							      	credit_type,
							      	technology,
						         	Float.parseFloat(total_price),
						         	Float.parseFloat(down_payment),
						         	Float.parseFloat(opening_rate),
						         	Float.parseFloat(monthly_rate),
						         	Float.parseFloat(act_rate),
						         	Float.parseFloat(ftp_rate),
						         	Float.parseFloat(sub0_rate),
						         	Float.parseFloat(sub1_rate),
						         	Float.parseFloat(comis_rate),
						         	Float.parseFloat(comis_rest),
						        	Integer.parseInt(duration),
						        	Integer.parseInt(grace),
						        	                 insurance_type,
						        	Float.parseFloat(insurance_tarif),
						        	Float.parseFloat(agent_rate),
						        	                 sms_type,
						        	Float.parseFloat(sms_suma),
						        	Float.parseFloat(sms_rate),
						        	1
				           	   	   );
				    } catch (Exception e) 
				    {
					  e.printStackTrace();
				    }
*/
			}
			out.println("<p>"+part[3]+" <input type=text name="+part[0]+" "+part[5]+" value="+value+"  /> </p>");
			line = br.readLine();
		}		
		br.close();
		ir.close();
		is.close();   
		out.println("  <input type=submit />");  
		out.println("</form>");
	}

	
	protected String Calculate(String a,String b) 
	{
		return Double.toString(Double.parseDouble(a)+Double.parseDouble(b));
	}
}




Ошибка
ноя 21, 2016 5:47:13 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [WebNbi] in context with path [/WebNbi] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: Analitic.Irr
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1109)
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351385
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вы собираете war модуль? Где находится класс Irr?
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351392
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
И где работа класса?
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351397
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczКак вы собираете war модуль? Где находится класс Irr?

Класс Irr находиться в библиотека nbi_exe.jar (скрин приложен)
Запуск осуществляется с установками находящимися в WebContent (скрин тот же)
здесь же и war модуль (если я правильно Вас понял)
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351400
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HOME_X,
И где работа класса?

Класс который реализует основной расчет находиться в nbi_exe.jar
Реализация следующая - конструктор создает класс и сразу же осуществляет расчет
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351402
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Класс который реализует основной расчет находиться в nbi_exe.jar
Реализация следующая - конструктор создает класс и сразу же осуществляет расчет
далее я просто ссылаюсь на нужное мне поле.
По скрину это папка Nbi. в нем базовый класс,
- который внедряется в базу Oracle ,
- который вызывается из OS посредством классов SWING
- который вызывается из servlete - этот этап пытаюсь наладить и будет подключаться
к web серверу tomcat
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351404
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
Выложил рабочий код?
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351485
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HOME_X,
Выложил рабочий код?


Мне нужно в коде
Код: 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.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
package Analitic;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.lang.reflect.Field;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * Servlet implementation class WebInput
 */
@WebServlet("/WebInput")
public class WebInput extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public WebInput() 
    {
        // TODO Auto-generated constructor stub
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doExecute(request, response,false);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doExecute(request, response,true);
	}

	protected void doExecute(HttpServletRequest request, HttpServletResponse response,boolean key) throws ServletException, IOException {
		// TODO Auto-generated method stub
		
		String v1="Hello";
		String v2="Buhlo";
		String v3="";
		response.setContentType("text/html");
		response.setCharacterEncoding("utf-8");
        PrintWriter out = response.getWriter();
        out.println("<form method=post action=WebInputPath>");
		out.println("<p>Поле F1 <input type=text name=F1 value="+v1+" /> </p>");
		out.println("<p>Поле F2 <input type=text name=F2 value="+v2+"  /> </p>");
        if(key==true)
        {
           c1 c = new c1(v1,v2);
           v3=c.F3;       	
        }
		out.println("<p>Поле F3 <input type=text name=F3 value="+v3+"/> </p>");
		out.println("  <input type=submit />");  
		out.println("</form>");
	}
}



Определить допуск к классу с1
c1 c = new c1(v1,v2);
и запустить сервлет
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351487
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,

Класс C1
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
package Analitic;

public class c1 {
	public String F1;
	public String F2;
	public String F3;

	public c1(String F1,String F2)
	{
		this.F1=F1;
		this.F2=F2;
		this.F3=F1+" "+F2;;
	}
}
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351489
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_Xc1 c = new c1(v1,v2);
ну дак, пиши эту строку и выкладывай скрин что не вышло.
IDE счас умные. Они за тебя всё напишут).
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351491
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
слева от строки видишь иконку с крестиком?
Подведи туда мышку и всплывёт окно с предложением что сделать.
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351514
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HOME_X,
слева от строки видишь иконку с крестиком?
Подведи туда мышку и всплывёт окно с предложением что сделать.

Связь с проектом я через Build Path делал...

Мне не ясно как устранить эту ошибку (первоначальный вопрос)

ноя 21, 2016 10:33:43 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [WebNbi] in context with path [/WebNbi] threw exception [Servlet execution threw an exception] with root cause
java.lang.ClassNotFoundException: Analitic.c1
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1275)
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351516
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XМне не ясно как устранить эту ошибку (первоначальный вопрос)
я не понял.
Я тебе: "мышку подведи и скрин дай".
А ты типа: "мне это нафиг не надо".
))
Я тебя не заставляю).
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351529
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,
Куда подводить то ?
У меня на момент разработке все корректно получается - проект подключен нормально
Куда навести то ?
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351577
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
Ты выше дал скрин с красной волнистой линией? Так?
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351579
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
Выведи на экран окно ошибок проекта при компиляции.
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351659
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HOME_X,
Выведи на экран окно ошибок проекта при компиляции.

Прилагаю ...
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351661
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это имели в виду ?
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351667
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_XЭто имели в виду ?
да. Это окно по возможности с минимумом ошибок и предупр.
- почему я отвечаю на вопросы, а ты не отвечаешь?
С волнистой линией разобрались?
....
1. Желательно переименовать проект Nbi в nbi_exe чтобы jar совпал с именем проекта. IMHO
2. Оба проекта не связаны. Т.е. перекрёстных ссылок не должно быть. Сначала экспорт готового jar из проекта _библитека класса_ выше и потом кинуть его в lib папку веб проекта.
IMHO
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351669
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Сначала экспорт готового jar из проекта _библитека класса_ выше
пр.клик мышкой на проекте - экспорт.
На всякий случай).
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351702
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123HOME_XЭто имели в виду ?
да. Это окно по возможности с минимумом ошибок и предупр.
- почему я отвечаю на вопросы, а ты не отвечаешь?
С волнистой линией разобрались?
....
1. Желательно переименовать проект Nbi в nbi_exe чтобы jar совпал с именем проекта. IMHO
2. Оба проекта не связаны. Т.е. перекрёстных ссылок не должно быть. Сначала экспорт готового jar из проекта _библитека класса_ выше и потом кинуть его в lib папку веб проекта.
IMHO


Извини !!!
По пунктам

Petro123-С волнистой линией разобрались?

Это был первичный скрин - чтобы показать весь набор трудностей

Petro123Сначала экспорт готового jar из проекта _библитека класса_ выше и потом кинуть его в lib папку веб проекта

Здесь уточняю по шагово
Т.е. класс C1 необходимо .....
1.сформировать в jar библиотеку c названием проекта который подключен на этапе разработки
2.подложить в папку LIB

Выполнено - запустилось - БОЛЬШОЕ СПАСИБО !!!!!

P.S. - не делал пункта 2 - ..............
(догадывался что-то и куда-то надо доп. откопировать, но конкретно не знал)
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351717
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
HOME_X,
в вебе названия принято делать маленькими буквами и при необходимости тире.
Один раз напоролся у себя на потерянный день при НЕ следовании рекомендации:
авторЧтобы избежать ошибок, разработчик должен именовать файлы сайта только в нижнем регистре и путь к ним указывать точно так же – маленькими буквами. Потому как, на юникс-подобных системах, а на них, чаще всего, работают веб-серверы, символы, написанные в разных регистрах, будут восприниматься машиной как разные. В Windows такого нет, но пренебрегать правилом, всё же, не стоит потому как если ваш файл назван в нижнем регистре, а в URL его название вы указали в верхнем регистре, то сервер не сможет его открыть.
Удачи!
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39351872
HOME_X
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123,

Принято

P.S. относительно реестр. зависимости - лоб уже разбивал
неприятная штука ....
...
Рейтинг: 0 / 0
Как настроить доступ к классу из servlete
    #39352968
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123авторВ Windows такого нет, но пренебрегать правилом, всё же, не стоит потому как если ваш файл назван в нижнем регистре, а в URL его название вы указали в верхнем регистре, то сервер не сможет его открыть.Индеец, в случае расхождения регистра, отвечает кодом перенаправления, указывая ссылку с правильным написанием.
...
Рейтинг: 0 / 0
24 сообщений из 24, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Как настроить доступ к классу из servlete
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]