Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java EE (J2EE)
Войти
Регистрация
Восстановить пароль
 
sasha_san
0 / 0 / 0
Регистрация: 17.11.2016
Сообщений: 31
1

Simple JSP CRUD

29.12.2017, 22:48. Просмотров 324. Ответов 1
Метки нет (Все метки)

есть Сервлет такой, суть его работы : удалить, добавить, редактировать пользователей на JSP странице. Его необходимо переделать, чтобы в методах Гет и Пост был один метод,который вызывает нужный метод edit,delete....и больше там ничего не может быть т.е. один метод, который различает внутри себя такой запрос и вызывает соответствующий метод delete, edit...


Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
  
 
public class UserController extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static String INSERT_OR_EDIT = "/user.jsp";
    private static String LIST_USER = "/listUser.jsp";
    private UserDao dao;
 
    public UserController() {
        super();
        dao = new UserDao();
    }
    
    private void delete(HttpServletRequest request, HttpServletResponse response) {
         int userId = Integer.parseInt(request.getParameter("userId"));
         dao.deleteUser(userId);
         request.setAttribute("users", dao.getAllUsers());
    }
    
    private void edit(HttpServletRequest request, HttpServletResponse response) {
         int userId = Integer.parseInt(request.getParameter("userId"));
         User user = dao.getUserById(userId);
         request.setAttribute("user", user);
    }
    
    private void listUsers(HttpServletRequest request, HttpServletResponse response) {
         request.setAttribute("users", dao.getAllUsers());
    }
    
    private void common(HttpServletRequest request, HttpServletResponse response) {
        int userId = Integer.parseInt(request.getParameter("userId"));
        dao.deleteUser(userId);
     
        User user = dao.getUserById(userId);
        request.setAttribute("user", user);
     
        request.setAttribute("users", dao.getAllUsers());
    }
    
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        String forward="";
        String action = request.getParameter("action");
            
        if (action.equalsIgnoreCase("delete")){
            delete(request, response);
            forward = LIST_USER;
        /*    один метод, который различает внутри себя такой запрос и вызывает соответствующий метод common, edit..*/
            
        } else if (action.equalsIgnoreCase("edit")){
            forward = INSERT_OR_EDIT;
            edit(request, response);
            
        } else if (action.equalsIgnoreCase("listUser")){
            forward = LIST_USER;
            listUsers(request, response);
            
        } else {
            forward = INSERT_OR_EDIT;
        }
 
        RequestDispatcher view = request.getRequestDispatcher(forward);
        view.forward(request, response);
    }
 
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        User user = new User();
        user.setFirstName(request.getParameter("firstName"));
        user.setLastName(request.getParameter("lastName"));
        try {
            Date dob = new SimpleDateFormat("MM/dd/yyyy").parse(request.getParameter("dob"));
            user.setDob(dob);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        user.setEmail(request.getParameter("email"));
        String userid = request.getParameter("userid");
        if(userid == null || userid.isEmpty())
        {
            dao.addUser(user);
        }
        else
        {
            user.setUserid(Integer.parseInt(userid));
            dao.updateUser(user);
        }
        RequestDispatcher view = request.getRequestDispatcher(LIST_USER);
        listUsers(request, response);
        view.forward(request, response);
    }
}
Добавлено через 4 часа 25 минут
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
public class UserController extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static String INSERT_OR_EDIT = "/user.jsp";
    private static String LIST_USER = "/listUser.jsp";
    private UserDao dao;
 
    public UserController() {
        super();
        dao = new UserDao();
    }
    
    private void delete(HttpServletRequest request, HttpServletResponse response) {
         int userId = Integer.parseInt(request.getParameter("userId"));
         dao.deleteUser(userId);
         request.setAttribute("users", dao.getAllUsers());
    }
    
    private void edit(HttpServletRequest request, HttpServletResponse response) {
         int userId = Integer.parseInt(request.getParameter("userId"));
         User user = dao.getUserById(userId);
         request.setAttribute("user", user);
    }
    
    private void listUsers(HttpServletRequest request, HttpServletResponse response) {
         request.setAttribute("users", dao.getAllUsers());
    }
    
 
    private void common (HttpServletRequest request, HttpServletResponse response) {
        
        String forward="";
        String action = request.getParameter("action");
            
        if (action.equalsIgnoreCase("delete")){
            delete(request, response);
            forward = LIST_USER;
        } else if (action.equalsIgnoreCase("edit")){
            forward = INSERT_OR_EDIT;
            edit(request, response);
        } else if (action.equalsIgnoreCase("listUser")){
            forward = LIST_USER;
           listUsers(request, response);
        } else {
            forward = INSERT_OR_EDIT;
        }
 
        RequestDispatcher view = request.getRequestDispatcher(forward);
        try {
            view.forward(request, response);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        User user = new User();
        user.setFirstName(request.getParameter("firstName"));
        user.setLastName(request.getParameter("lastName"));
        try {
            Date dob = new SimpleDateFormat("MM/dd/yyyy").parse(request.getParameter("dob"));
            user.setDob(dob);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        user.setEmail(request.getParameter("email"));
        String userid = request.getParameter("userid");
        if(userid == null || userid.isEmpty())
        {
            dao.addUser(user);
        }
        else
        {
            user.setUserid(Integer.parseInt(userid));
            dao.updateUser(user);
        }
        
        RequestDispatcher views = request.getRequestDispatcher(LIST_USER);
        listUsers(request, response);
        try {
            views.forward(request, response);
        } catch (ServletException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        common(request, response);
            
    }
  
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        common(request, response);
       
    }
}
Добавлено через 1 минуту
сам сделал ,буду рад если кому то поможет

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
public class UserController extends HttpServlet {
    private static final long serialVersionUID = 1L;
    private static String INSERT_OR_EDIT = "/user.jsp";
    private static String LIST_USER = "/listUser.jsp";
    private UserDao dao;
 
    public UserController() {
        super();
        dao = new UserDao();
    }
    
    private void delete(HttpServletRequest request, HttpServletResponse response) {
         int userId = Integer.parseInt(request.getParameter("userId"));
         dao.deleteUser(userId);
         request.setAttribute("users", dao.getAllUsers());
    }
    
    private void edit(HttpServletRequest request, HttpServletResponse response) {
         int userId = Integer.parseInt(request.getParameter("userId"));
         User user = dao.getUserById(userId);
         request.setAttribute("user", user);
    }
    
    private void listUsers(HttpServletRequest request, HttpServletResponse response) {
         request.setAttribute("users", dao.getAllUsers());
    }
    
 
    private void common (HttpServletRequest request, HttpServletResponse response) {
        
        String forward="";
        String action = request.getParameter("action");
            
        if (action.equalsIgnoreCase("delete")){
            delete(request, response);
            forward = LIST_USER;
        } else if (action.equalsIgnoreCase("edit")){
            forward = INSERT_OR_EDIT;
            edit(request, response);
        } else if (action.equalsIgnoreCase("listUser")){
            forward = LIST_USER;
           listUsers(request, response);
        } else {
            forward = INSERT_OR_EDIT;
        }
 
        RequestDispatcher view = request.getRequestDispatcher(forward);
        try {
            view.forward(request, response);
        } catch (ServletException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        User user = new User();
        user.setFirstName(request.getParameter("firstName"));
        user.setLastName(request.getParameter("lastName"));
        try {
            Date dob = new SimpleDateFormat("MM/dd/yyyy").parse(request.getParameter("dob"));
            user.setDob(dob);
        } catch (ParseException e) {
            e.printStackTrace();
        }
        user.setEmail(request.getParameter("email"));
        String userid = request.getParameter("userid");
        if(userid == null || userid.isEmpty())
        {
            dao.addUser(user);
        }
        else
        {
            user.setUserid(Integer.parseInt(userid));
            dao.updateUser(user);
        }
        
        RequestDispatcher views = request.getRequestDispatcher(LIST_USER);
        listUsers(request, response);
        try {
            views.forward(request, response);
        } catch (ServletException e1) {
            e1.printStackTrace();
        } catch (IOException e1) {
            e1.printStackTrace();
        }
    }
    
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        common(request, response);
            
    }
  
    
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        common(request, response);
       
    }
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
29.12.2017, 22:48
Ответы с готовыми решениями:

Простые CRUD операции с JSP и Servlets
Здравствуйте. Изучаю Java EE, сделал небольшую БД на MySQL, прикрутил к проекту и решил вывести всё...

[JSP] Назначать класс элементов в header.jsp на разных страницах
Есть header.jsp, который я включаю в свои страницы: <link...

Пересылка запроса с jsp страницы на эту же jsp с другими параметрами
Хочу реализовать паджинацию страницы, на страницу приходить запрос со списком объектов, jsp...

Как реализовать аналог <b onclick="<jsp:forward page=xxx.jsp/>menuN</b> ??
Smysl zadachi v sledujuschem: menu.jsp - formiruet menu ishodia iz znachenii v baze dannuh. Tam...

jsp и intellij idea (не реагирует на изменение jsp нишка)
есть web проект , файл jsp где в html прописаны divы и подключены cssники , я могу менять вид...

1
Fene4ka_
102 / 102 / 40
Регистрация: 24.01.2014
Сообщений: 1,244
22.01.2018, 17:47 2
получается, что я геттом могу удалять, обновлять данные ... так лучше не делать, и вообще, метод должен выполнять одну какую-то функцию, просто потом очень трудно разбираться в чужом коде и редактировать его, особенно если присутствуют какие-то side-effect'ы. В вашем же случае есть метод с абсолютно не говорящим названием "common", который делает целую кучу различных операций, который он в принципе исходя из архитектуры приложения делать не должен, кроме того, get запросы должны только получать какую-то информацию и не в коем случае как-то ее редактировать или удалять. Так что и первая и последняя версия кода никуда не годятся, даже лабораторные стыдно сдавать с таким кодом)
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
22.01.2018, 17:47

Не могу передать значения из jsp в сервлет и снова в jsp
Имеется солидный проект, в котором суть такова: Сайт с просмотром новостей (меню новостей,...

Jsp-servlet-jsp, нужен совет
Доброго времени суток. Помогите разобраться есть сервлет и две jsp страницы. Код сервлета. ...

Можно ли использовать генерацию crud для production?
Строю приложение на spring-boot: &lt;dependency&gt; ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.