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


Автор: featurelles 17.8.2014, 19:49
Пробую создать в методе init одного сервлета, однократную инициализацию динамического массива lang_name_array
(для того чтоб, из БД разово произвести выборку всех поддерживаемых языков)

Код

public static String lang_name_array[]; // полное название языка

public void init(ServletConfig config) throws ServletException
{
.........
  int count=0;  // позиция в массиве..

 /* выделяем память под массивы */
  lang_name_array = new String[10]

// в цикле производим инициаизацию массива
  lang_name_array[count] = new String();   
  lang_name_array[count] = rs.getString(Languages_table.lang_name); // тут получили, к примеру русский язык
........

/* заполнили массив названиями языков */

}


По завершению инициализации данного сервлета,    lang_name_array содержит список языков.
Мне нужно получать данные этого массива,  из другого сервлекать.
Как это сделать???

Автор: Samotnik 20.8.2014, 13:04
featurelles, способов куча. Attribute, Session, Context. Как вариант:

Код

public class TestServlet extends HttpServlet {

    @Override
    public void init(ServletConfig config) throws ServletException {
        String str = "test";
        config.getServletContext().setAttribute("testAttribute", str);
    }

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }
}


Код

public class AnotherServlet extends HttpServlet {
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String testAttr = (String) request.getServletContext().getAttribute("testAttribute");
        response.getWriter().print(testAttr);
    }
}


Код

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>TestServlet</servlet-name>
        <servlet-class>com.TestServlet</servlet-class>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>TestServlet</servlet-name>
        <url-pattern>/test</url-pattern>
    </servlet-mapping>

    <servlet>
        <servlet-name>AnotherServlet</servlet-name>
        <servlet-class>com.AnotherServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>AnotherServlet</servlet-name>
        <url-pattern>/another</url-pattern>
    </servlet-mapping>
    
</web-app>

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