簡體   English   中英

Java Servlet響應表

[英]Java Servlet Response Form

我正在一個項目中,我必須修改Java Servlet應用程序以添加其他字段供用戶輸入信息。 然后,在按下“提交”按鈕之后,響應應該出現在與初始字段頁面相同的頁面上。 我的問題是,沒有顯示響應頁面。 響應頁面應顯示用戶在初始頁面中輸入的內容,但當前,我的初始頁面僅清除輸入字段,並且響應從不顯示。 我對Java還是很陌生,所以如果您看到我需要改進的其他內容,請告訴我! 下面是我當前的代碼:

hello2問候:

 package javaeetutorial.hello2; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/greeting") public class GreetingServlet extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); response.setBufferSize(8192); try (PrintWriter out = response.getWriter()) { out.println("<html lang=\\"en\\">" + "<head><title>Servlet Hello</title></head>"); out.println("<body bgcolor=\\"#ffffff\\">" + "<img src=\\"resources/images/duke.waving.gif\\" " + "alt=\\"Duke waving his hand\\">" + "<form method=\\"get\\">" + "<h2>Please complete our Customer Survey</h2>" + "<h3>First name:</h3>" + "<input title=\\"First Name \\" type=\\"text\\" " + "fname=\\"firstname\\" size=\\"25\\"/>" + "<h4>Last name:</h4>" + "<input title=\\"lastname\\" type=\\"text\\" " + "lname=\\"lastname\\" size=\\"25\\"/>" + "<h5>E-mail:</h5>" + "<input title=\\"E-mail \\" type=\\"text\\" " + "emailaddress=\\"email\\" size=\\"25\\"/>" + "<h6>Birth date:</h6>" + "<input title=\\"Birthday \\" type=\\"text\\" " + "bdate=\\"birthdate\\" size=\\"25\\"/>" + "<p></p>" + "<input type=\\"submit\\" value=\\"Submit\\"/>" + "<input type=\\"reset\\" value=\\"Reset\\"/>" + "</form>"); String firstname = request.getParameter("fname"); String lastname = request.getParameter("lname"); String email = request.getParameter("emailaddress"); String birthdate = request.getParameter("bdate"); if (firstname != null && firstname.length() > 0) { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/response"); if (dispatcher != null) { dispatcher.include(request, response); } } if (lastname != null && lastname.length() > 0) { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/response"); if (dispatcher != null) { dispatcher.include(request, response); } } if (email != null && email.length() > 0) { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/response"); if (dispatcher != null) { dispatcher.include(request, response); } } if (birthdate != null && birthdate.length() > 0) { RequestDispatcher dispatcher = getServletContext().getRequestDispatcher("/response"); if (dispatcher != null) { dispatcher.include(request, response); } } out.println("</body></html>"); } } @Override public String getServletInfo() { return "The Hello servlet says hello."; } } 

hello2回應:

 package javaeetutorial.hello2; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @WebServlet("/response") public class ResponseServlet extends HttpServlet { @Override public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { try (PrintWriter out = response.getWriter()) { out.println("Thank you for completing our Customer Survey form on !"); String firstname = request.getParameter("firstname"); String lastname = request.getParameter("lastname"); String email = request.getParameter("email"); String birthdate = request.getParameter("birthdate"); if (firstname != null && firstname.length() > 0) { out.println("<h2>First name: " + firstname + "</h2>"); } if (lastname != null && lastname.length() > 0) { out.println("<h3>Last name: " + lastname + "</h3>"); } if (email != null && email.length() > 0) { out.println("<h4>E-mail address: " + email + "</h4>"); } if (birthdate != null && birthdate.length() > 0) { out.println("<h5>Birth date: " + birthdate + "</h5>"); } } } @Override public String getServletInfo() { return "The Response servlet says hello."; } } 

問題太小。.您忘記了表單的action屬性。由於此原因,您的響應未發送到RespponseServlet。 應該是這樣的

<form action='response' method=\"get\">

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM