我想使用servlet創建一個簡單的網頁。這是我考試中的一個問題,我在考試時做了實際操作,但沒有像預期的那樣工作,但現在我想澄清我的問題。 我的問題是有一個網頁,它分爲2個部分。在底部它應該顯示一個文本框和一個文本區域來輸入註釋。還有一個提交按鈕。當提交按鈕點擊時,輸入的評論應顯示在同一頁面的頂部。 爲此,我創建了一個名爲Welcome.java的servlet,並使用iframe將它分爲兩部分。然後我創建了一個名爲test.java的servlet並在該servlet中創建了一個文本框和textarea。然後創建另一個servlet調用text22.java來捕獲註釋並顯示它們。但它沒有給出預期的輸出。
我附上了這個頁面現在的樣子的截圖,我想在頁面頂部顯示評論。請幫我解決這個疑難問題真的很感謝你的幫助......使用servlet創建簡單的網頁
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>
}
當你點擊提交控件時,它是怎麼回事? –
當點擊提交按鈕,它應該出現在頁面的頂部,它現在顯示爲空,順便說一下,我是新來的servlet和Jsp,如果你幫我我真的很感謝 – neil