Vika7
@Vika7
вебист

Что не так при выводе «Hello World!» часть 3?

Ребята, что не так с выводом "Helo World"?

в индексе:
<form action="${pageContext.request.contextPath}/myservlet" method="post">
    <button type="submit" name="button" value="button1">Button 1</button>
</form>


в сервлете:
@Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        MyClass myClass = new MyClass();
        String button = request.getParameter("button");

        if ("button1".equals(button)) {
            myClass.method1();
        } else {
            // ???
        }

        request.getRequestDispatcher("index.jsp").forward(request, response);
    }


в классе:

public class MyClass {
public void method1(){
System.out.println("Helo World1!");
}
}
  • Вопрос задан
  • 195 просмотров
Пригласить эксперта
Ответы на вопрос 2
Manul81
@Manul81
Кот в полном расцвете сил
public class MyClass {
public static void main(String[] args) {
method1();
}
public static void method1(){
System.out.println("Helo World1!");
}
}
Ответ написан
Комментировать
leahch
@leahch
3D специалист. Dолго, Dорого, Dерьмово.
Ну, если вы хотите вывести что-то в html, то используйте
PrintWriter out = response.getWriter();
как - описано здесь - www.oracle.com/technetwork/java/servlet-142430.html
Но при этом уже нельзя будет сделать forward (точнее можно, но получите на выходе кашу!)

А если хотите что-то передать в index.jsp, то
String message = "HI Welcome";
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
request.setAttribute("msg",message);
rd.forward(request, response);


Ну и полностью наверное (не проверял):
public class MyClass {
  public String method1(){
   return("Helo World1!");
  }
}

protected void doPost(...) {
...
String  mymsg = myClass.method1();
...
RequestDispatcher rd = request.getRequestDispatcher("index.jsp");
request.setAttribute("msg", mymsg);
rd.forward(request, response);
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы