日期:2014-05-18  浏览次数:20832 次

servlet有点问题
Java code

public void doGet(HttpServletRequest request,HttpServletResponse response)
         throws ServletException,IOException{
             response.setContentType("text/html");
             PrintWriter out=response.getWriter();
             out.println("<html>");
             out.println("<head><title>HiddenFieldServlet</title></head>");
             out.println("<body>");
             out.println("<form action = "+"\"http://localhost:8080/servlet/HiddenFieldServlet\" method=\"post\">"); 
             
             out.println("<input type =\"hidden\" name=" + "\"user\" value=\"javes\">");
             out.println("<input type =\"hidden\" name=" + "\"session\" value = \"12892\">");
             out.println("<input type =\"hidden\" name=" + "\"movie\" value=\"Happy Gilmore\">");
             out.println("<input type =\"hidden\" name=" + "\"movie\" value=\"SO I Married an Axe Murderer\">");
             out.println("<input type = \"hidden\" name=" + "\"movie\" value=\"Jaws\">");
             out.println("<input type = \"submit\" value =" + "\"submit\">");
             out.println("</form>");
             out.println("</body><html>");
             out.close();
         }


out.println("<input type = \"submit\" value =" + "\"submit\">");这里边为什么都有个\和+,什么意思?


------解决方案--------------------
因为现在的HTML越来越规范,在HTML4.1和XHTML中都要求属性值必须包含在括号内,即如TYPE="SUBMIT",但是你要记住在JAVA中括号中要有 " 符号,则必须写成\" .类似的还有\ 写成 \\, ' 写成\' 等等.这被称做转义字符
------解决方案--------------------

当这个加号两边只要有一边是一个字符串时。它表示的意思就不是数字里的相加 而是字符串的拼接
比如: "a"+"b" 两边都是字符串 结果就是ab
再如: "a"+1 结果是a1 有一边是字符串 所以也表示拼接。 1+"a" 也是一样
还有: "2"+1 得到结果是21 并不是3 因为有一边是字符串 它表示的意思就是字符串的拼接 而不是数学意义上的相加!

再有\
是转义字符
JAVA里被双引号包含起来的都是字符串 比如:"aaaa"
这个字符串的值就是aaaa 
这时我们想 如果我想让一个字符串的值是aaaa" 它包含一个双引号
这时应该怎么办呢?
我们不能直接这么写:"aaaa"" 这样会报错的。因为" 是具有特殊含义的。它表示字符串的开始或者结束。它必须是成对出现的
如果想在一个字符串里包含一个" 
要先把 " 所具有的特殊意义(表示字符串的开始或者结果) 给去掉。
这时我们就可以在" 前加一个\ 
\ 叫转义字符 它可以去掉它后面的那个字符的特殊意义 告诉程序只将它当做一个普通的字符串处理。 
这时"aaaa\"" 这个字符串的值就是aaaa"

用的语言比较通俗 不知道你明白没有啊