繁体   English   中英

servlet内的html表单处理

[英]html form handling inside servlet

我是一个全新的t servlet,有人可以告诉我我的代码有什么问题;我试图在文本框中命名用户输入的内容,然后显示“欢迎”:“这是用户在文本框中输入的文本”

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,我存储在名称变量中

要回答您的特定问题,您需要转义String文字(红色的双引号),并且不引号font close标记(但是您可以将其折叠为单个HTML String),例如-

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

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

编辑它是getWriter() ,更改它

PrintWritter out=res.getWritter();

PrintWriter out=res.getWriter();

是的,这不是最好的方法,但是我建议您像下面那样做,以便您轻松学习:

  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(); } } 

我尚未测试,希望您能有所想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM