if (username.trim() == "" || psw.trim() == "") {
result = "用户名或密码不能为空";
                        //1
} else if (!validate(username)) {
result = "用户名含有非法字符串";
}
if (!result.equals("")) {
                        //2
out.print("<html><head><script language='javascript'>alert('"
+ result
+ "'); location='login.jsp';</script></head><body></body></html>");

}我在1处和2处分别设置了System.out.print
系统显示执行了这两条if
但是
out.print("<html><head><script language='javascript'>alert('"
+ result
+ "'); location='login.jsp';</script></head><body></body></html>");
始终不执行。无法跳到login.jsp中,会继续执行servlet中的代码。一个小小的登陆功能。昨天我试的时候还是好好地。今天就不行了。
是跟浏览器有关系么?但是同事访问(访问我的server或是他自己建的server都不行)也是不行。求助啊。在线等

解决方案 »

  1.   

                    response.setContentType("text/html;charset=utf-8");
    request.setCharacterEncoding("utf-8");
    PrintWriter out = response.getWriter();
    这些都有。
      

  2.   

    你都在servlet中了还写js代码,直接跳转不行啊,够累
      

  3.   

    我在1 2 处分别打了
    System.out.println("1和2");
    都会在控制台显示。
      

  4.   

    out在最后要flush或者close才会输出内容,你有吗?
      

  5.   

    可以了,但是会抛出异常。。Dec 18, 2012 11:07:01 AM org.apache.catalina.core.StandardWrapperValve invoke
    SEVERE: Servlet.service() for servlet LoginCheck threw exception
    java.lang.IllegalStateException
    at org.apache.catalina.connector.ResponseFacade.sendRedirect(ResponseFacade.java:435)
    at LoginCheck.doGet(LoginCheck.java:147)
    at LoginCheck.doPost(LoginCheck.java:152)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
    at java.lang.Thread.run(Unknown Source)
      

  6.   

    解决了。
    因为我的sendRedirect出了问题。。
    谢谢你啊。
      

  7.   

    Quote: 引用 8 楼 wlcw16 的回复:

    解决了。
    因为我的sendRedirect出了问题。。
    谢谢你啊。
    Quote:

    解决了就好,你是我这么多天来回答这么多问题以来终于肯结贴的朋友了,无奈