Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javaservlet切换执行顺序_Java_Servlets_Switch Statement - Fatal编程技术网

Javaservlet切换执行顺序

Javaservlet切换执行顺序,java,servlets,switch-statement,Java,Servlets,Switch Statement,我在使用servlet中的两个开关时遇到了一些问题。我试图从jsp上的这些开关加载数据,但它基本上只在第一个开关上加载,第二个开关没有执行。我尝试只创建一个开关,但它会给我一些错误,如提交响应后无法转发等。你们知道解决这个问题的正确方法吗? 谢谢 代码如下: public class UserControllerServlet extends HttpServlet { private static final long serialVersionUID = 1L; priv

我在使用servlet中的两个开关时遇到了一些问题。我试图从jsp上的这些开关加载数据,但它基本上只在第一个开关上加载,第二个开关没有执行。我尝试只创建一个开关,但它会给我一些错误,如提交响应后无法转发等。你们知道解决这个问题的正确方法吗? 谢谢

代码如下:

public class UserControllerServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;

    private UserDao userDao;
    private ReservationDao reservationDao;
    private DBConnection dbConnection;


    @Override
    public void init() throws ServletException {
        super.init();

        try {
            userDao = new UserDao(dbConnection);
            reservationDao = new ReservationDao(dbConnection);
        }catch(Exception e) {
            throw new ServletException(e);
        }
    }




    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {

        try {
            // read the "command" parameter
            String theCommand = request.getParameter("command");
            String theCommand2 = request.getParameter("command2");
            if(theCommand == null) {
                theCommand = "LIST";
            }

            if(theCommand2 == null) {
                theCommand2 = "LIST";
            }

            switch(theCommand2) {
            case "LIST":
                listReservations(request, response);
                return;

            case "ADD":
                addReservation(request, response);
                return;


            case "LOAD":
                loadReservation(request, response);
                return;


            case "UPDATE":
                updateReservation(request, response);
                return;



            case "DELETE":
                deleteReservation(request, response);
                return;


            default:
                listReservations(request, response);
        }

            //route to the appropriate method
            switch(theCommand) {
                case "LIST":
                    listUsers(request, response);
                    break;

                case "ADD":
                    addUser(request, response);
                    break;


                case "LOAD":
                    loadUser(request, response);
                    break;


                case "UPDATE":
                    updateUser(request, response);
                    break;



                case "DELETE":
                    deleteUser(request, response);
                    break;


                default:
                    listUsers(request, response);
            }

        }catch(Exception e) {
            throw new ServletException(e);
        }

    }

    private void deleteUser(HttpServletRequest request, HttpServletResponse response) 
    throws Exception {
        String theUserId = request.getParameter("userId");

        userDao.deleteUser(theUserId);

        listUsers(request, response);
    }

    private void updateUser(HttpServletRequest request, HttpServletResponse response) 
            throws Exception {

        int id = Integer.parseInt(request.getParameter("userId"));
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String role = request.getParameter("role");
        String nume = request.getParameter("nume");
        String prenume = request.getParameter("prenume");
        String email = request.getParameter("email");
        String adresa = request.getParameter("adresa");
        UserBean theUser = new UserBean(id, username, password, role,nume,prenume,email,adresa);
        userDao.updateUser(theUser);
        listUsers(request, response);
    }

    private void loadUser(HttpServletRequest request, HttpServletResponse response) throws Exception {
        String theUserId = request.getParameter("userId");
        UserBean theUser = userDao.getUser(theUserId);
        request.setAttribute("THE_USER", theUser);
        RequestDispatcher dispatcher = 
                request.getRequestDispatcher("/update-user-form.jsp");
        dispatcher.forward(request, response);
        return;
    }

    private void addUser(HttpServletRequest request, HttpServletResponse response) throws Exception {

        String username = request.getParameter("username");
        String password = request.getParameter("password");
        String role = request.getParameter("role");
        String nume = request.getParameter("nume");
        String prenume = request.getParameter("prenume");
        String email = request.getParameter("email");
        String adresa = request.getParameter("adresa");
        UserBean theUser = new UserBean(username, password, role,nume,prenume,email,adresa);
        userDao.addUser(theUser);
        listUsers(request, response);

    }

    private void listUsers(HttpServletRequest request, HttpServletResponse response) 
    throws Exception {
        List<UserBean> users = userDao.getUsers();
        request.setAttribute("USER_LIST", users);
        RequestDispatcher dispatcher = request.getRequestDispatcher("/list-users.jsp");
        dispatcher.forward(request, response);
        return;
    }


    //Reservations Methods

    private void deleteReservation(HttpServletRequest request, HttpServletResponse response) 
            throws Exception {
                String theReservationId = request.getParameter("reservationId");
                reservationDao.deleteReservation(theReservationId);
                listReservations(request, response);
            }

            private void updateReservation(HttpServletRequest request, HttpServletResponse response) 
                    throws Exception {

                int idReservation = Integer.parseInt(request.getParameter("reservationId"));
                int idUser = Integer.parseInt(request.getParameter("userId"));
                String dataCheckin = request.getParameter("dataCheckin");
                String dataCheckout = request.getParameter("dataCheckout");
                int nrPersoane = Integer.parseInt(request.getParameter("nrPersoane"));
                int nrCamere = Integer.parseInt(request.getParameter("nrCamere"));
                ReservationBean theReservation = new ReservationBean(idReservation, idUser, dataCheckin, dataCheckout,nrPersoane,nrCamere);
                reservationDao.updateReservation(theReservation);
                listReservations(request, response);
            }

            private void loadReservation(HttpServletRequest request, HttpServletResponse response) throws Exception {
                String theReservationId = request.getParameter("reservationId");
                ReservationBean theReservation = reservationDao.getReservation(theReservationId);
                request.setAttribute("THE_RESERVATION", theReservation);
                RequestDispatcher dispatcher = 
                        request.getRequestDispatcher("/update-reservation-form.jsp");
                dispatcher.forward(request, response);
                return;
            }

            private void addReservation(HttpServletRequest request, HttpServletResponse response) throws Exception {

                int userId = Integer.parseInt(request.getParameter("userId"));
                String dataCheckin = request.getParameter("dataCheckin");
                String dataCheckout = request.getParameter("dataCheckout");
                int nrPersoane = Integer.parseInt(request.getParameter("nrPersoane"));
                int nrCamere = Integer.parseInt(request.getParameter("nrCamere"));
                ReservationBean theReservation = new ReservationBean(userId, dataCheckin, dataCheckout,nrPersoane,nrCamere);
                reservationDao.addReservation(theReservation);
                listReservations(request, response);

            }

            private void listReservations(HttpServletRequest request, HttpServletResponse response) 
                throws Exception {
                    List<ReservationBean> reservations = reservationDao.getReservations();
                    request.setAttribute("RESERVATION_LIST", reservations);
                     request.getRequestDispatcher("/list-users.jsp").forward(request, response);
                    return;
                }


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        doGet(request, response);
    }

}
公共类UserControllerServlet扩展了HttpServlet{
私有静态最终长serialVersionUID=1L;
私有UserDao UserDao;
私人预订道预订道;
专用数据库连接数据库连接;
@凌驾
public void init()引发ServletException{
super.init();
试一试{
userDao=新的userDao(dbConnection);
reservationDao=新的reservationDao(dbConnection);
}捕获(例外e){
抛出新的ServletException(e);
}
}
受保护的void doGet(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException
{
试一试{
//读取“command”参数
字符串theCommand=request.getParameter(“命令”);
字符串command2=request.getParameter(“command2”);
if(命令==null){
命令=“列表”;
}
if(命令2==null){
命令2=“列表”;
}
开关(命令2){
案例“列表”:
列表保留(请求、响应);
返回;
案例“添加”:
添加预订(请求、响应);
返回;
案例“荷载”:
loadReservation(请求、响应);
返回;
案例“更新”:
更新服务(请求、响应);
返回;
案例“删除”:
删除保留(请求、响应);
返回;
违约:
列表保留(请求、响应);
}
//路由到适当的方法
开关(命令){
案例“列表”:
列表用户(请求、响应);
打破
案例“添加”:
addUser(请求、响应);
打破
案例“荷载”:
loadUser(请求、响应);
打破
案例“更新”:
updateUser(请求、响应);
打破
案例“删除”:
删除用户(请求、响应);
打破
违约:
列表用户(请求、响应);
}
}捕获(例外e){
抛出新的ServletException(e);
}
}
私有void deleteUser(HttpServletRequest请求,HttpServletResponse响应)
抛出异常{
字符串theUserId=request.getParameter(“userId”);
userDao.deleteUser(userid);
列表用户(请求、响应);
}
私有void updateUser(HttpServletRequest请求,HttpServletResponse响应)
抛出异常{
intid=Integer.parseInt(request.getParameter(“userId”);
字符串username=request.getParameter(“用户名”);
字符串密码=request.getParameter(“密码”);
字符串角色=request.getParameter(“角色”);
字符串nume=request.getParameter(“nume”);
字符串prenume=request.getParameter(“prenume”);
字符串email=request.getParameter(“email”);
字符串adresa=request.getParameter(“adresa”);
UserBean theUser=newuserbean(id、用户名、密码、角色、nume、prenume、电子邮件、地址);
userDao.updateUser(用户);
列表用户(请求、响应);
}
私有void loadUser(HttpServletRequest请求、HttpServletResponse响应)引发异常{
字符串theUserId=request.getParameter(“userId”);
UserBean theUser=userDao.getUser(theUserId);
setAttribute(“用户”,theUser);
RequestDispatcher=
getRequestDispatcher(“/update user form.jsp”);
转发(请求、响应);
返回;
}
私有void addUser(HttpServletRequest请求、HttpServletResponse响应)引发异常{
字符串username=request.getParameter(“用户名”);
字符串密码=request.getParameter(“密码”);
字符串角色=request.getParameter(“角色”);
字符串nume=request.getParameter(“nume”);
字符串prenume=request.getParameter(“prenume”);
字符串email=request.getParameter(“email”);
字符串adresa=request.getParameter(“adresa”);
UserBean theUser=newuserbean(用户名、密码、角色、nume、prenume、电子邮件、地址);
userDao.addUser(theUser);
列表用户(请求、响应);
}
私有void列表用户(HttpServletRequest请求、HttpServletResponse响应)
抛出异常{
List users=userDao.getUsers();
setAttribute(“用户列表”,用户);
RequestDispatcher=request.getRequestDispatcher(“/list users.jsp”);
转发(请求、响应);
返回;
}
//保留方法
私有void deleteReservation(HttpServletRequest请求、HttpServletResponse响应)
抛出异常{
字符串theReservationId=request.getParameter(“reservationId”);
reservationDao.deleteReservation(theReservationId);
列表保留(请求、响应);
}
私有void updateReservation(HttpServletRequest请求,HttpServletResponse响应)
抛出异常{
int idReservation=Integer.parseInt(request.getParameter(“reservationId”);
switch(theCommand2) {
case "LIST":
    listReservations(request, response);
    break; // not return.
case "ADD":
    addReservation(request, response);
    break; // not return..
// ...