Quantcast
Channel: Active questions tagged servlets - Stack Overflow
Viewing all articles
Browse latest Browse all 675

Retrieving user fail

$
0
0

Does using 1 form for both login and signup can cause this error? When I run the tomcat and try to login it keeps returning null as the user, even though the user does exist in the database. As for the action and method I use js to set it.

homepage.jsp

<form action="" method="" class="form"><label for="forms-username">Username</label><input type="text" name="forms-username" id="forms-username"><label for="forms-email">Email</label><input type="text" name="forms-email" id="forms-email"><label for="forms-password">Password</label><input type="password" name="forms-password" id="forms-password"><input type="submit" value="Submit"></form>

loginServlet.java

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        request.getRequestDispatcher("index.jsp").forward(request, response);    }protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        UserService userService = new UserService();        PrintWriter out = response.getWriter();        String username = request.getParameter("username");        String password = request.getParameter("password");        User user = new User();        user.setUsername(username);        user.setPassword(password);        boolean loginSuccess = userService.login(user);        if (loginSuccess) {            user = userService.getUserByName(user.getUsername());            request.getSession().setAttribute("user", user);            doGet(request, response);        } else {            out.println("Some error occurred, please ensure the username and password are correct!");        }

homepage.js

// sign in    $('#sign-in').click(function() {        $('#forms-body').show();        $('#forms-header span:last-child').removeClass('selected');        $('#forms-header span:first-child').addClass('selected');        $('.form label:nth-child(3)').hide();        $('.form input[type="text"]:nth-child(2)').hide();        $('.to-block').show();        $('.form').attr('action', 'homepage');        $('.form').attr('method', 'get');    });    $('#forms-header span:first-child').click(function(){        $('#forms-header span:last-child').removeClass('selected');        $(this).addClass('selected');        $('.form label:nth-child(3)').hide();        $('.form input[type="text"]:nth-child(2)').hide();        $('.form').attr('action', 'homepage');        $('.form').attr('method', 'get');    });

I tried to retrieve data by using test.java and it does returns true. I tried to print out the user when the login function is run and it returns null, perhaps the problem is located on the request.getParameter("username"); , but if this is the problem, I do have signUp servlet which also use this as the method to retrieve the username from form, and it works.

test.java

@Test    public void retrieveUser() {        UserMapper userMapper = session.getMapper(UserMapper.class);        boolean loginSuccess = false;        String username = "firstuser";        User user = new User();        User retrieved = new User();        user.setUsername(username);        retrieved = UserService.getUserByName(username);        loginSuccess = UserService.login(retrieved);        System.out.println(loginSuccess);    }

signUpServlet

@Override    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {        request.setCharacterEncoding("utf-8");        String userName = request.getParameter("forms-username");        String password = request.getParameter("forms-password");        String email = request.getParameter("forms-email");        User user = new User();        user.setUsername(userName);        user.setPassword(password);        user.setEmail(email);        UserService.signUp(user);        request.getRequestDispatcher("index.jsp").forward(request, response);    }

Viewing all articles
Browse latest Browse all 675

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>