我是一个全新的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,我将其存储在名称变量
中答案 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();
}
}
我没有测试过,希望你能得到一个想法..