servlet内部的html表单处理

时间:2014-10-13 03:56:03

标签: java html servlets

我是一个全新的servlet,有人可以告诉我我的代码有什么问题;我试图在文本框中命名用户的输入,然后显示welcome:"用户在文本框中输入的文本&#34 ; 这是我的代码

import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;

// Extend HttpServlet class
public class myprogramme extends HttpServlet {

  public void service(HttpServletRequest req,HttpServletResponse res)throws ServletException,IOException {       
      res.setContentType("text/html");
      PrintWritter out=res.getWritter();
      String name=req.getParameter("txtname");
      out.println("<b>< font size=8 color="red">" +"welcome:"+ </font> "</b>"+name);
  }

}

文本框的名称是txtname,我将其存储在名称变量

2 个答案:

答案 0 :(得分:1)

要回答您的具体问题,您需要转义String字面值(红色的双引号)并且您没有引用字体关闭标记(但您可以将其折叠为单个HTML字符串) -

out.println("<b><font size=8 color=\"red\">Welcome:</font></b>" + name);

话虽如此,这不是今天编写Java Servlet的好方法。因为它在Servlet中使用表示。

修改这是getWriter(),请更改此

PrintWritter out=res.getWritter();

PrintWriter out=res.getWriter();

答案 1 :(得分:0)

没错,这不是最好的方法,但我建议你这样做,以便你轻松学习:

  public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
    res.setContentType("text/html");
    PrintWriter out = res.getWriter();
    String name = req.getParameter("txtname");

    StringBuilder sb = null;

    try {

      sb = new StringBuilder();
      sb.append("<b>< font size='8' color='red'>");
      sb.append(" Welcome : " + name + " </font></b>");

      out.println(sb.toString())

    } catch (Exception e) {
      e.printStackTrace();
    }

  }

我没有测试过,希望你能得到一个想法..