配置文件名默认是struts.xml,我估计是你struts.xml格式问题,给你个标准格式参考下:<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd"><struts> <constant name="struts.ui.theme" value="simple" />
<constant name="struts.i18n.encoding" value="UTF-8" />
<constant name="struts.objectFactory" value="spring" />
        <package name="mypak_01" extends="struts-default">        <action name="login" class="loginAction" method="login">
<result type="redirect">page.action</result>
<result name="failure">failure.jsp</result>
</action>
</package>
</struts>

解决方案 »

  1.   

    我想说,你那里 有2个方法。 execute跟 cheeck方法。这个不是默认就是执行 execute方法嘛。那他就不会到下面的方法去了吧。换个action方法名 
      

  2.   

    struts.xml中<result name="false" type="redirect">/student/register.jsp</result>相当于response.sendRedirect("");out.flush();时服务器会把请求头部分以及现成的其他response体刷到客户端,这里response置为commited,不能再改变其请求头, 而response.sendRedirect("..."); 要改变location请求头,当然不行了.
      

  3.   

    一次请求对应一个响应;你的out.print();out.flush();已经是一次响应了,再想同时redirect();有点贪多哦
      

  4.   

    把return true、false  改成return "success"、"false",这样就能跳转了吧。if(res==true){
             out.print("<script> alert('注册成功,请返回登陆页面登陆!');</script>");
             out.flush();
             out.close();
             return "success";
         }else {
           out.print("<script> alert('该账户已存在,请重新注册!');</script>");
           out.flush();
             out.close();
             return "false";
         }
      

  5.   

    你有<script> alert('注册成功,请返回登陆页面登陆!');</script>这句,就算是跳到了一个空白页面,也是立即执行一个弹出框的