Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- java.lang.NullPointerException
- com.cheerbuilder.controller.Controller.createNewUser(Controller.java:64)
- com.cheerbuilder.controller.Controller.doGet(Controller.java:31)
- com.cheerbuilder.controller.Controller.doPost(Controller.java:50)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:660)
- javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
- org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title>User form</title>
- </head>
- <body>
- <form action="insert" method = 'post'>
- User id: <br>
- <input type = 'number' name = 'id'/><br>
- User name:<br>
- <input type = 'text' name = 'name'/><br>
- <button type = 'submit'>Сохранить</button>
- </form>
- </body>
- </html>
- package com.cheerbuilder.controller;
- import com.cheerbuilder.dbAccess.UserAccesser;
- import com.cheerbuilder.entity.User;
- import javax.servlet.ServletConfig;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import java.io.IOException;
- import java.sql.SQLException;
- @WebServlet("/")
- public class Controller extends HttpServlet {
- UserAccesser userAccesser;
- @Override
- protected void doGet(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- String action = req.getServletPath();
- System.out.println(action);
- switch ((action == null) ? "something" : action) {
- case "/insert" :
- createNewUser(req, resp);
- break;
- default:
- req.getRequestDispatcher("index.jsp").forward(req,resp);
- }
- }
- @Override
- public void init(ServletConfig config) throws ServletException {
- UserAccesser userAccesser = new UserAccesser();
- }
- @Override
- protected void doPost(HttpServletRequest req, HttpServletResponse resp)
- throws ServletException, IOException {
- doGet(req,resp);
- }
- private void createNewUser(HttpServletRequest req, HttpServletResponse
- resp) throws IOException {
- User user = null;
- user = new User(Integer.valueOf(req.getParameter("id")),
- req.getParameter("name"));
- System.out.println(user);
- try {
- userAccesser.insertUser(user);
- } catch (SQLException e) {
- }
- resp.sendRedirect("index.jsp");
- }
- }
- package com.cheerbuilder.dbAccess;
- import com.cheerbuilder.entity.User;
- import com.mysql.jdbc.Driver;
- import java.sql.*;
- import java.util.ArrayList;
- import java.util.List;
- public class UserAccesser {
- private Connection connection;
- public UserAccesser() {
- String dbUser = "root";
- String dbURL = "jdbc:mysql://localhost:3306/userdb" +
- "?verifyServerCertificate=false"+
- "&useSSL=false"+
- "&requireSSL=false"+
- "&useLegacyDatetimeCode=false"+
- "&" +"&serverTimezone=UTC";
- String dbPassword = "powerlum925";
- try {
- Class.forName("com.mysql.jdbc.Driver");
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- }
- try {
- if ((connection == null) || (connection.isClosed())) {
- connection = DriverManager
- .getConnection(dbURL,dbUser,dbPassword);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- /**
- * Gets user from db by id
- * @param id user's id
- * @return
- * @throws SQLException
- */
- public User selectUser(int id) throws SQLException {
- User user = null;
- String selectQuery = "SELECT * FROM users WHERE user_id = ?";
- PreparedStatement preparedStatement = connection
- .prepareStatement(selectQuery);
- preparedStatement.setInt(1,id);
- ResultSet resultSet = preparedStatement.executeQuery();
- while(resultSet.next()) {
- user = new User(resultSet.getInt("user_id"),
- resultSet.getString("name"));
- }
- preparedStatement.close();
- connection.close();
- return user;
- }
- /**
- * Gets user's list from db
- * @return
- * @throws SQLException
- */
- public List<User> selectUsers() throws SQLException {
- List<User> users = new ArrayList<>();
- String selectQuery = "SELECT * FROM users";
- PreparedStatement preparedStatement =
- connection.prepareStatement(selectQuery);
- ResultSet resultSet = preparedStatement.executeQuery();
- while(resultSet.next()) {
- users.add(new User(resultSet.getInt("user_id"),
- resultSet.getString("name"))
- );
- }
- preparedStatement.close();
- connection.close();
- return users;
- }
- /**
- * Inserts user object to db
- * @param user
- * @throws SQLException
- */
- public void insertUser(User user) throws SQLException {
- String insertQuery = "INSERT INTO users VALUES (?,?)";
- PreparedStatement preparedStatement =
- connection.prepareStatement(insertQuery);
- preparedStatement.setInt(1,user.getId());
- preparedStatement.setString(2,user.getName());
- preparedStatement.execute();
- preparedStatement.close();
- connection.close();
- }
- /**
- * Updates user
- * @param user
- * @throws SQLException
- */
- public void updateUser(User user) throws SQLException {
- String updateQuery = "UPDATE users SET VALUES (?,?)" +
- "WHERE user_id = ? ";
- PreparedStatement preparedStatement =
- connection.prepareStatement(updateQuery);
- preparedStatement.setInt(1,user.getId());
- preparedStatement.setString(2,user.getName());
- preparedStatement.execute();
- preparedStatement.close();
- connection.close();
- }
- /**
- * Delete user from db
- * @param user
- * @throws SQLException
- */
- public void deleteUser(User user) throws SQLException {
- String deleteQuery = "DELETE FROM users WHERE user_id = " +
- + user.getId();
- Statement statement = connection.createStatement();
- statement.execute(deleteQuery);
- statement.close();
- connection.close();
- }
- }
Add Comment
Please, Sign In to add comment