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


Автор: Nimani 12.5.2012, 18:20
Народ, помогите начинающему программисту. Создаю J2EE приложение в нём создаю SessionBean в котором прописываю getBody() и setBody()

и создаю Servlet:

@WebServlet(name = "NewServlet", urlPatterns = {"/NewServlet"})
public class NewServlet extends HttpServlet {
@EJB
private NewSessionBeanLocal newSessionBean;

protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
String bod=request.getParameter("body");
newSessionBean.setBody(bod);
PrintWriter out = response.getWriter();
try {
out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewServlet</title>"); 
out.println("</head>");
out.println("<body>");
out.println("<h1>Servlet NewServlet at " + request.getContextPath() + "</h1>");
out.println("Body<input type='text' name='body'>");
out.println("<input type='submit' name='button'>");
out.println("</body>");
out.println("</html>");
} finally { 
out.close();
}
}
}

Проблема в том что данные передаются на момент запуска Servlet, а надо по нажатию кнопки 'button'

Автор: AntonSaburov 12.5.2012, 18:45
А куда делись doGet и doPost в сервлете ?

Да и HTML-код, который генерит сервлет не содержит тега FORM - а куда тогда отправляется текст из поля body ?

Автор: Nimani 12.5.2012, 19:15
doGet и doPost  просто не выложил они стандартные без изменений
код не весь выложил

out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewServlet</title>"); 
out.println("</head>");
out.println("<body>");
out.println("<form action='NewServlet2'>");
out.println("<h1>Servlet NewServlet at " + request.getContextPath() + "</h1>");
out.println("Body<input type='text' name='body'>");
out.println("<input type='submit' name='button'>");
out.println("</body>");
out.println("</html>");

Добавлено через 1 минуту и 9 секунд
Поправочка

out.println("<html>");
out.println("<head>");
out.println("<title>Servlet NewServlet</title>"); 
out.println("</head>");
out.println("<body>");
out.println("<form action='NewServlet2'>");
out.println("<h1>Servlet NewServlet at " + request.getContextPath() + "</h1>");
out.println("Body<input type='text' name='body'>");
out.println("<input type='submit' name='button'>");
out.println("</form>");
out.println("</body>");
out.println("</html>"); 

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