Struts2 + tomcat   Help!!  小弟刚刚学习struts2  不知道为什么当我刚刚开启tomcat的时候一切正常Action能正常访问,但是过上十几分钟之后就嗝屁了,再请求之前那个正常的Action时页面就一直处在加载状态,控制台也不报错.重启一下tomcat就又能访问了.while(1=1){
    上面的情况;
}

解决方案 »

  1.   

    好嘞--------strus.xml----------
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE struts PUBLIC 
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
    <struts>
    <constant name="struts.devMode" value="true" />
        <constant name="struts.i18n.encoding" value="UTF-8"></constant>
        <constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
        
        
        <package name="users" extends="struts-default" namespace="/hell">
         <action name="t1" class="web.UserAction">
         <result >/success.jsp</result>
         <result name="error">/error.jsp</result>
         </action>
        </package>
        <package name="food" extends="struts-default" namespace="/food">
         <action name="food" class="">
        
         </action>
        </package>
        <package name="live" extends="struts-default" namespace="/food">
         <action name="food" class="">
        
         </action>
        </package>
        
        <package name="admin" extends="struts-default" namespace="/admin">
         <action name="Users" class="web.action.UserAction">
        
         </action>
        </package>
        
    </struts>--------action---------
    package web.action;import java.io.IOException;
    import java.io.PrintWriter;
    import java.util.List;
    import java.util.Map;import javax.servlet.ServletContext;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import javax.servlet.http.HttpSession;
    import entity.Users;import org.apache.struts2.ServletActionContext;
    import org.apache.struts2.interceptor.RequestAware;
    import org.apache.struts2.interceptor.ServletRequestAware;
    import org.apache.struts2.interceptor.ServletResponseAware;
    import org.apache.struts2.interceptor.SessionAware;import util.Page;
    import util.Validata;import com.opensymphony.xwork2.ActionSupport;import biz.UsersBiz;
    import biz.impl.UsersBizImpl;public class UserAction extends ActionSupport implements SessionAware,
    ServletRequestAware, ServletResponseAware {
    private UsersBiz usersBiz;
    private HttpServletRequest request;
    private HttpSession session;
    private Map att;
    private HttpServletResponse response;
    private Users user;
    private Page page;
    private PrintWriter out;
    //注入
    public void setUsersBiz(UsersBizImpl usersBiz) {
    this.usersBiz = usersBiz;
    } public void setSession(Map att) {
    this.att = att;
    } public void setServletRequest(HttpServletRequest request) {
    this.request = request;
    } public void setServletResponse(HttpServletResponse response) {
    this.response = response;
    }

    // 获取所有用户
    public void getUserList() {
    user = new Users();
    response.setCharacterEncoding("UTF-8");
    List userList = usersBiz.searchUser(user);
    page = new Page(userList.size(), userList);
    //request.setAttribute("page", page.getResult());
    try {
    response.getWriter().write(page.toString());
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }

    //添加用户
    public void addUser(){
    response.setCharacterEncoding("UTF-8");
    String userName = request.getParameter("userName");
    String password = request.getParameter("password");
    Integer level = Validata.valNum(request.getParameter("level"));
    String name = request.getParameter("name");
    String dress = request.getParameter("dress");
    String email = request.getParameter("email");
    String post = request.getParameter("post");
    String tel = request.getParameter("tel");


    Users user = new Users();
    user.setDress(dress);
    user.setEmail(email);
    user.setLevel(level);
    user.setName(name);
    user.setPassword(password);
    user.setPost(post);
    user.setTel(tel);
    user.setUserName(userName);

    try {
    usersBiz.addUser(user);
    } catch (RuntimeException e1) {
    // TODO Auto-generated catch block
    try {
    response.getWriter().write("{success:true,msg:'添加失败'}");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    e1.printStackTrace();
    }
    try {
    response.getWriter().write("{success:true,msg:'添加成功'}");
    } catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    public void updateUser(){
    response.setCharacterEncoding("UTF-8");
    String userName = request.getParameter("userName");
    String password = request.getParameter("password");
    Integer level = Validata.valNum(request.getParameter("level"));
    String name = request.getParameter("name");
    String dress = request.getParameter("dress");
    String email = request.getParameter("email");
    String post = request.getParameter("post");
    String tel = request.getParameter("tel");


    Users user = usersBiz.loadUser(userName);
    user.setDress(dress);
    user.setEmail(email);
    user.setLevel(level);
    user.setName(name);
    user.setPassword(password);
    user.setPost(post);
    user.setTel(tel);


    usersBiz.updateUser(user);
    }}
      

  2.   

    我还加了spring  和 hibernate
      

  3.   

    我还发现一个问题,不是是间的问题是请求次数的问题. 我怀疑是response干的,但是没有证据.没法抓啊!
      

  4.   

    正解 如果遇到这种情况 tomcat 是不会有反应的 看似正常 但是访问的时候一直就是加载 
      

  5.   

    给个解决方案啊!  同志们急用  我的包就导了31个有关系吗? struts2.2.1 hibernate3 spring2.5