下面是一段servlet代码
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
PrintWriter out = response.getWriter();
         HttpSession session=request.getSession();
String user=(String)session.getAttribute("user");
if(user==null){
out.print("用户存在!");
}else{
out.print("用户不存在!");
                   }
我想问的是,按我上面那样写代码的话,最后输出地内容(比如说“用户存在”)都在后台输出,可是我想它们在一个网页中输出呢?该怎么办?
是不是在前面加上一句response.setContentType("text/html");
谢谢哈  请高手指点

解决方案 »

  1.   

    String user=(String)session.getAttribute("user");
    if(user==null){
    out.print("用户存在!");
    }
    你这样等于没判断,如果session.getAttribute("user")获得的值是null你直接强转,肯定报错
      

  2.   


    session.getAttribute("user")是null,会报错吗? 
      

  3.   

    首先,你这个判断
    if(user==null){
    out.print("用户存在!");
    }
    冒似不怎么好的。
    然后就是你这种写法就可以在网页上输出啊?你直接在地址栏里访问你的servlet就可以了,如:
    http://localhost:8080/Demo7_JMS/ServletPro如果是servlet3.0规范的。在servlet类前加注解就可以了,但不用在web.xml文件里配置servlet。如
    @WebServlet("/ServletPro")public class ServletPro extends HttpServlet{}
      

  4.   

    我想成int的强转了,真心失误
      

  5.   

    你们。。答非所问。。人家问的怎么在哪里吧内容在网页中弹出而不是在后台显示这样写
    //设置回发内容编码  
    request.setCharacterEncoding("GBK");
    response.setContentType("text/html; charset=GBK");
    PrintWriter out = response.getWriter();
    //弹出
    out.append("<script>alert('密码不正确!!');window.history.go(-1);</script>");
      

  6.   

    //设置回发内容编码  
    request.setCharacterEncoding("GBK");
    response.setContentType("text/html; charset=GBK");
    PrintWriter out = response.getWriter();
    //弹出
    out.append("<script>alert('密码不正确!!');window.history.go(-1);</script>");
      

  7.   

    正解. 字符编码最好设置成utf-8