サーブレットを使用して簡単なWebページを作成したいとします。これは私の試験の質問の一つで、私は実践的な試験をしましたが、彼らが期待どおりに働いていなかったのですが、今私は質問を明確にしたいと思います。 私の質問は、Webページがあり、2つの部分に分かれています。下部には、コメントを入力するためのテキストボックスとテキストエリアが表示されます。また、送信ボタンもあります。送信ボタンをクリックすると、コメントを入力したものが同じページの上部に表示されます。 これを行うには、Welcome.javaというサーブレット・コールを作成し、iframeを使用して2つの部分に分割します。次に、サーブレット・コールtest.javaを作成し、そのサーブレット内にテキスト・ボックスとテキスト領域を作成します。次に、コメントをキャッチして表示する別のサーブレット・コールtext22.javaを作成します。しかし、それは期待される出力を与えません。
このページの外観のスクリーンショットを添付して、ページの上部にコメントを表示したいとします。 ...私はあなたの助けを本当に感謝このproblem.Iを解決するために助けてくださいサーブレットを使用して単純なWebページを作成する
Welcome.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author neil
*/
public class Welcome extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("<iframe src='test22' name='if1' width='100%' height='400px'>");
out.println("</iframe>");
out.println("<iframe src='test' name='if1' width='100%' height='200px'>");
out.println("</iframe>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
test.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author neil
*/
public class test extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
out.println("User Name" + "<input type='text' name='username'/>" + "<br>" + "<br>");
out.println("<textarea name='comment' rows='25' cols='20'>" + "Write your comment");
out.println("</textarea>");
out.println("<input type='submit' value='Submit'/>");
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
test22.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
*
* @author neil
*/
public class A extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
ServletContext sc=request.getServletContext();
String com= (String) sc.getAttribute("text");
if(null==com){
com = request.getParameter("comment");
}else{
com=com+"<br>"+request.getParameter("comment");
}
out.println(com);
sc.setAttribute("comment", com);
} finally {
out.close();
}
}
// <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
@Override
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processRequest(request, response);
}
@Override
public String getServletInfo() {
return "Short description";
}// </editor-fold>
}
送信をクリックすると、コントロールはどこに行きますか、どのようになっていますか? –
送信ボタンをクリックすると、ページの上部に表示されるはずです。ここではヌルとして表示されますが、私はサーブレットとJSPには新しくありません。本当にありがとうございます。 – neil