我写了一个Servlet小程序,如下:
实现的功能就是在页面上有一个输入框,一个按钮。
点按钮,可以把输入框的内容显示在页面上。
现在问题是,我想把多次的结果都显示在叶面上,应该怎么修改啊。
试了好多次都没有成功。
import javax.servlet.http.*;
import java.io.*;
import javax.servlet.*;
import java.util.*;public class B25_HelloWeb extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>\n" +
"<BODY>\n");
out.println("<form action=http://localhost:8080/B25_HelloWeb method=post>");
out.println("<input type=\"text\" name="+"\"name\">");
out.println("<input type=\"submit\" name="+"\"name\">");
out.println("<br>");
Enumeration parameters = request.getParameterNames();
String param = null;
while(parameters.hasMoreElements())
{
param = (String)parameters.nextElement();
out.println(request.getParameter(param));
}
out.println("</BODY></HTML>");
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>\n" +
"<BODY>\n");
out.println("<form action=http://localhost:8080/B25_HelloWeb method=post>");
out.println("<input type=\"text\" name="+"\"name\">");
out.println("<input type=\"submit\" name="+"\"name\">");
out.println("<br>");
Enumeration parameters = request.getParameterNames();
String param = null;
while(parameters.hasMoreElements())
{
param = (String)parameters.nextElement();
out.println(request.getParameter(param));
}
out.println("</BODY></HTML>");
out.close();
}}
据个例子,就是:
我先在输入框内输入1,点提交,页面上会显示1。
我在输入2,在1的后面会出现2。
。。
实现的功能就是在页面上有一个输入框,一个按钮。
点按钮,可以把输入框的内容显示在页面上。
现在问题是,我想把多次的结果都显示在叶面上,应该怎么修改啊。
试了好多次都没有成功。
import javax.servlet.http.*;
import java.io.*;
import javax.servlet.*;
import java.util.*;public class B25_HelloWeb extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>\n" +
"<BODY>\n");
out.println("<form action=http://localhost:8080/B25_HelloWeb method=post>");
out.println("<input type=\"text\" name="+"\"name\">");
out.println("<input type=\"submit\" name="+"\"name\">");
out.println("<br>");
Enumeration parameters = request.getParameterNames();
String param = null;
while(parameters.hasMoreElements())
{
param = (String)parameters.nextElement();
out.println(request.getParameter(param));
}
out.println("</BODY></HTML>");
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>\n" +
"<BODY>\n");
out.println("<form action=http://localhost:8080/B25_HelloWeb method=post>");
out.println("<input type=\"text\" name="+"\"name\">");
out.println("<input type=\"submit\" name="+"\"name\">");
out.println("<br>");
Enumeration parameters = request.getParameterNames();
String param = null;
while(parameters.hasMoreElements())
{
param = (String)parameters.nextElement();
out.println(request.getParameter(param));
}
out.println("</BODY></HTML>");
out.close();
}}
据个例子,就是:
我先在输入框内输入1,点提交,页面上会显示1。
我在输入2,在1的后面会出现2。
。。
看着代码长
其实满简单的
就是以前没做过SERVLET相关的
不是很清楚
那你得把输入的东西存起来,比如存到一个ArrayList里
然后把这个list对象放到session里,每次从session里取出list对象
循环列出list中的内容另外doPost 里可以调用一下doGet 不用写2次重复代码
怎么把list对象放到session里阿
sevlet我真的是刚开始学习
不是很懂啊!
import java.io.*;
import javax.servlet.*;
import java.util.*;
import java.util.ArrayList;
import java.util.List;public class B26_HelloWeb extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>B26_HelloWeb</TITLE></HEAD>\n" +
"<BODY>\n");
out.println("<form name=\"B26\" action=http://localhost:8080/B26_HelloWeb method=post>");
out.println("<input type=\"text\" name="+"\"enter\" size=\"10\">");
out.println("<button ONCLICK=\"funSubmit(1);\">submit</button>");
out.println("<br>");
out.println("<%function funSubmit(int i)");
out.println("{");
out.println("B26.submit;");
out.println("return true;");
out.println("} %>");
Enumeration parameters = request.getParameterNames();
String param = null;
List list = new ArrayList();
while(parameters.hasMoreElements())
{
param = (String)parameters.nextElement();
list.add(request.getParameter(param));
}
int length = list.size();
int i;
for(i = 0; i < length; i++)
{
out.println(list.get(i).toString());
}
HttpSession session = request.getSession();
session.setAttribute("list",list);
out.println("</BODY></HTML>");
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
doGet(request,response);
}
}我已经按照上面大哥的意思吧程序改成这个样子了,编译可以通过,怎么就是不出结果呢。
是不是我的理解错了呢!!!
前面说list,后面说隐藏域提交
实在不知道该怎么做了啊!!
if(list==null)
list=new ArrayList();
list.add("");
request.setAttribute("list",list);
List list=request.getAttribute("list");
if(list==null)
list=new ArrayList();
if(str!=null)
list.add(str);
request.setAttribute("list",list);
for(list)//显示
import java.io.*;
import javax.servlet.*;
import java.util.*;public class B26_HelloWeb extends HttpServlet
{
public void init(ServletConfig config) throws ServletException
{
super.init(config);
}
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
response.setContentType("text/html");
PrintWriter out = response.getWriter();
out.println("<!DOCTYPE HTML PUBLIC\"-//W3C//DTD HTML 4.0 " +
"Transitional//EN\">\n" +
"<HTML>\n" +
"<HEAD><TITLE>B25_HelloWeb</TITLE></HEAD>\n" +
"<BODY>\n");
out.println("<form action=http://localhost:8080/examples/servlet/B26_HelloWeb method=post>");
out.println("<input type=\"text\" name="+"\"name\">");
out.println("<input type=\"submit\" name="+"\"name\">");
out.println("<br/>");
String str=request.getParameter("name");
List list=(List) request.getSession().getAttribute("list");
if(list==null)
list=new ArrayList();
if(str!=null)
list.add(str);
request.getSession().setAttribute("list", list);
for(int i = 0; i < list.size();i++) {
out.println("<br/>");
out.println(list.get(i));
} out.println("</BODY></HTML>");
out.close();
} public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
doGet(request,response); }}