Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Как настроить доступ к классу из servlete / 24 сообщений из 24, страница 1 из 1
21.11.2016, 18:48
    #39351377
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Доброго дня господа !

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

Подключаемый класс 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
21.11.2016, 18:56
    #39351385
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Как вы собираете war модуль? Где находится класс Irr?
...
Рейтинг: 0 / 0
21.11.2016, 19:07
    #39351392
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_X,
И где работа класса?
...
Рейтинг: 0 / 0
21.11.2016, 19:11
    #39351397
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
BlazkowiczКак вы собираете war модуль? Где находится класс Irr?

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

Класс который реализует основной расчет находиться в nbi_exe.jar
Реализация следующая - конструктор создает класс и сразу же осуществляет расчет
...
Рейтинг: 0 / 0
21.11.2016, 19:17
    #39351402
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Класс который реализует основной расчет находиться в nbi_exe.jar
Реализация следующая - конструктор создает класс и сразу же осуществляет расчет
далее я просто ссылаюсь на нужное мне поле.
По скрину это папка Nbi. в нем базовый класс,
- который внедряется в базу Oracle ,
- который вызывается из OS посредством классов SWING
- который вызывается из servlete - этот этап пытаюсь наладить и будет подключаться
к web серверу tomcat
...
Рейтинг: 0 / 0
21.11.2016, 19:20
    #39351404
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_X,
Выложил рабочий код?
...
Рейтинг: 0 / 0
21.11.2016, 21:50
    #39351485
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
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
21.11.2016, 21:52
    #39351487
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
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
21.11.2016, 21:59
    #39351489
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_Xc1 c = new c1(v1,v2);
ну дак, пиши эту строку и выкладывай скрин что не вышло.
IDE счас умные. Они за тебя всё напишут).
...
Рейтинг: 0 / 0
21.11.2016, 22:01
    #39351491
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_X,
слева от строки видишь иконку с крестиком?
Подведи туда мышку и всплывёт окно с предложением что сделать.
...
Рейтинг: 0 / 0
21.11.2016, 23:37
    #39351514
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
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
21.11.2016, 23:48
    #39351516
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_XМне не ясно как устранить эту ошибку (первоначальный вопрос)
я не понял.
Я тебе: "мышку подведи и скрин дай".
А ты типа: "мне это нафиг не надо".
))
Я тебя не заставляю).
...
Рейтинг: 0 / 0
22.11.2016, 00:22
    #39351529
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Petro123,
Куда подводить то ?
У меня на момент разработке все корректно получается - проект подключен нормально
Куда навести то ?
...
Рейтинг: 0 / 0
22.11.2016, 08:50
    #39351577
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_X,
Ты выше дал скрин с красной волнистой линией? Так?
...
Рейтинг: 0 / 0
22.11.2016, 08:53
    #39351579
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_X,
Выведи на экран окно ошибок проекта при компиляции.
...
Рейтинг: 0 / 0
22.11.2016, 10:53
    #39351659
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Petro123HOME_X,
Выведи на экран окно ошибок проекта при компиляции.

Прилагаю ...
...
Рейтинг: 0 / 0
22.11.2016, 10:54
    #39351661
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Это имели в виду ?
...
Рейтинг: 0 / 0
22.11.2016, 10:59
    #39351667
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_XЭто имели в виду ?
да. Это окно по возможности с минимумом ошибок и предупр.
- почему я отвечаю на вопросы, а ты не отвечаешь?
С волнистой линией разобрались?
....
1. Желательно переименовать проект Nbi в nbi_exe чтобы jar совпал с именем проекта. IMHO
2. Оба проекта не связаны. Т.е. перекрёстных ссылок не должно быть. Сначала экспорт готового jar из проекта _библитека класса_ выше и потом кинуть его в lib папку веб проекта.
IMHO
...
Рейтинг: 0 / 0
22.11.2016, 11:03
    #39351669
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Petro123Сначала экспорт готового jar из проекта _библитека класса_ выше
пр.клик мышкой на проекте - экспорт.
На всякий случай).
...
Рейтинг: 0 / 0
22.11.2016, 11:39
    #39351702
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
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
22.11.2016, 11:58
    #39351717
Petro123
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
HOME_X,
в вебе названия принято делать маленькими буквами и при необходимости тире.
Один раз напоролся у себя на потерянный день при НЕ следовании рекомендации:
авторЧтобы избежать ошибок, разработчик должен именовать файлы сайта только в нижнем регистре и путь к ним указывать точно так же – маленькими буквами. Потому как, на юникс-подобных системах, а на них, чаще всего, работают веб-серверы, символы, написанные в разных регистрах, будут восприниматься машиной как разные. В Windows такого нет, но пренебрегать правилом, всё же, не стоит потому как если ваш файл назван в нижнем регистре, а в URL его название вы указали в верхнем регистре, то сервер не сможет его открыть.
Удачи!
...
Рейтинг: 0 / 0
22.11.2016, 14:34
    #39351872
HOME_X
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как настроить доступ к классу из servlete
Petro123,

Принято

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


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