Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Сессия в сервлете) 
:(
    Опции темы
di109
Дата 13.12.2012, 18:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 26.9.2012

Репутация: нет
Всего: нет



Есть servlet и два файла jsp - (например) UpdateServlet.java, index.jsp и update.jsp. 
index.jsp - содержит ссылку с значением 1, (например) <a href='UpdateServlet?update=1'>Правка</a> 
update.jsp - содержит поле для ввода текста и кнопку для отправки текста сервлету. 
UpdateServlet.java - должен принять значение ссылки и текст из текстового поля затем вывести их на экран.

То есть пользователю сначала отображается одна страница, где он нажимает на ссылку. А после нажатия на ссылку отображается вторая страница, где надо заполнить текстовое поле. И потом уже получить все данные(это значение ссылки и текст из текстового поля) с первой и второй страницы в сервлете.

index.jsp
Код

<%-- 
    Document   : index
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>UPDATE</title>
    </head>
    <body bgcolor="D2E4E1">
    <a href='UpdateServlet?update=1'>Правка1</a>
    <br>
    <a href='UpdateServlet?update=2'>Правка2</a>
    <br>
    <a href='UpdateServlet?update=3'>Правка3</a>
    </body>
</html>


update.jsp
Код

<%-- 
    Document   : update
--%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body bgcolor="D2E4E1">
    <FORM NAME="update_form" ACTION="UpdateServlet" METHOD="GET">   
    <center>
        <textarea rows="9" name="messageText" cols="64" wrap="ON"></textarea>
          <p><input type="submit" value=" OK " name="btnSend"></p>
    </center>    
   </FORM>
    </body>
</html>


UpdateServlet.java
Код

package controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
/**
 *
 * @author 
 */
public class UpdateServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        String parUpdate = null;
        String temp = null;
        String parId = request.getParameter("update");
            HttpSession session = request.getSession(true);
            session.setAttribute("update", parId);
            String value = (String)session.getAttribute("update");
            temp = value;
           RequestDispatcher dispatcher = request.getRequestDispatcher("/update.jsp");           
           if (session != null) {
           dispatcher.forward(request, response);
           parUpdate = request.getParameter("messageText");
           }    
           System.out.println("Значение ссылки: "+value);
           System.out.println("Текст: "+parUpdate);
        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            out.println("<html>");
            out.println("<head>");
            out.println("<title>www</title>");
            out.println("</head>");
            out.println("<body>");
            
            out.println("<h1>Значение ссылки: "+value+"</h1>");
            out.println("<h1>Текст: "+parUpdate+"</h1>");
            
            out.println("</body>");
            out.println("</html>");
        } finally {
            out.close();
        }
    }
}


Можно решить так, Сделайте 2 сервлета, обрабатывающий запросы от index, другой от update.
Значения ссылки и поля кладите в сессию. Когда надо отобразить - из сессии достанете все ваши значения. 

Но проблема в том что сервлет в моем случае должен быть только один.
Подскажите как решить эту задачу, используя один сервлет и может ли помочь в решение Паттерн Front Controller.
PM MAIL WWW   Вверх
di109
Дата 13.12.2012, 19:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 26.9.2012

Репутация: нет
Всего: нет



и вот еще за одно хочу уточнить является ли данный код сервлетом:
Код

package net.inver.web;

import javax.servlet.ServletException;
import java.io.IOException;
import javax.servlet.http.HttpSession;
/**
 *
 * @author 
 */
public class IndexCommand extends  FrontCommand {
    
        public void process() throws ServletException, IOException {
            
        String answerText = request.getParameter("answer1");
        HttpSession sessions = request.getSession(true);
        sessions.setAttribute("answer1", answerText);
                    
        forward("/test.jsp");
    }
}
 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.1842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.