0

Login.java

    package com.package.web;

import com.nagarro.entity.UsersEntity;
import com.nagarro.util.HibernateUtil;
import javax.servlet.annotation.WebServlet;
import org.hibernate.Session;
import org.hibernate.query.Query;

import javax.servlet.*;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "login",urlPatterns = {"/login"})
public class Login extends HttpServlet {

    private static final long serialVersionUID = 123456789L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        System.out.println("check2");
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        Session session = HibernateUtil.sessionFactory.openSession();
        session.beginTransaction();
        Query query = session.createQuery("from UsersEntity U where U.username=:username");
        query.setParameter("username",username);
        UsersEntity user = (UsersEntity) query.uniqueResult();
        session.getTransaction();
        session.close();

        if(user==null){
            response.getWriter().print("No users found");
        }else if(user.getPassword().equals(password)){
            response.getWriter().print("Logging in");
            response.addCookie(new Cookie("username",username));
            response.addCookie(new Cookie("password",password));
        }
        else{
            response.getWriter().print("Invalid password");
        }

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.sendRedirect("Welcome");
    }

}

Welcome.java

    package com.package.web;

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 javax.servlet.http.Cookie;
import javax.servlet.ServletException;

@WebServlet(name = "welcome",urlPatterns = {"/welcome"})
public class Welcome extends HttpServlet {
    private static final long serialVersionUID = 132456789L;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        Cookie[] cookies = request.getCookies();
        if(cookies!=null){
            for(Cookie cookie: cookies){
                if(cookie.getName().equals("username")){
                    response.sendRedirect("ImageUtility");
                }
            }
        }
        response.sendRedirect("login.jsp");
    }
}

Register.java

    package com.package.web;
import javax.servlet.annotation.WebServlet;
import com.nagarro.entity.UsersEntity;
import com.nagarro.util.HibernateUtil;
import org.hibernate.Session;
import javax.servlet.ServletException;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet(name = "register",urlPatterns = {"/register"})
public class Register extends HttpServlet {
    private static final long serialVersionUID = 124356789L;

    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        System.out.println("check1");
        String firstName = request.getParameter("firstName");
        String lastName = request.getParameter("lastName");
        String username = request.getParameter("username");
        String password = request.getParameter("password");

        UsersEntity user = new UsersEntity();
        user.setFirstName(firstName);
        user.setLastName(lastName);
        user.setUsername(username);
        user.setPassword(password);
        Session session = HibernateUtil.sessionFactory.openSession();
        session.beginTransaction();
        try{
            session.save(user);
            session.getTransaction().commit();
        }catch (Exception e){
            response.getWriter().println("User could not be saved");
            session.getTransaction().rollback();
            session.close();
            return;
        }
        session.close();
        response.getWriter().print("Registered Successfully");
        response.addCookie(new Cookie("username",username));
        response.addCookie(new Cookie("password",password));
        response.sendRedirect("login");

    }

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException{
        response.sendRedirect("register.jsp");
    }
}

register.jsp

    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="ISO-8859-1">
    <title>Insert title here</title>

    <link rel="stylesheet"
          href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
          integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
          crossorigin="anonymous">
</head>

</head>
<body>
<div class="container">
    <hr>
    <div class="row col-md-10 col-md-offset-3">

        <div class="card card-body">

            <h2>User Register Form</h2>
            <div class="col-md-8 col-md-offset-3">

                <form action="/register" method="post">

                    <div class="form-group">
                        <label for="uname">First Name:</label> <input type="text"
                                                                      class="form-control"  placeholder="First Name"
                                                                      name="firstName" required>
                    </div>

                    <div class="form-group">
                        <label for="uname">Last Name:</label> <input type="text"
                                                                     class="form-control" id="uname" placeholder="last Name"
                                                                     name="lastName" required>
                    </div>

                    <div class="form-group">
                        <label for="uname">User Name:</label> <input type="text"
                                                                     class="form-control" id="username" placeholder="User Name"
                                                                     name="username" required>
                    </div>

                    <div class="form-group">
                        <label for="uname">Password:</label> <input type="password"
                                                                    class="form-control" id="password" placeholder="Password"
                                                                    name="password" required>
                    </div>

                    <button type="submit" class="btn btn-primary">Submit</button>

                </form>
            </div>
        </div>
    </div>
</div>
</body>
</html>

login.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
         pageEncoding="ISO-8859-1"%>
<!DOCTYPE html>
<html>
<head>
    <meta charset="ISO-8859-1">
    <title>Image Utility - Login</title>
    <link rel="stylesheet"
          href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
          integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T"
          crossorigin="anonymous">
</head>
<body>

<div class="container col-md-8 col-md-offset-3" style="overflow: auto">
    <h1>Login Form</h1>
    <form action="<%=request.getContextPath()%>/login" method="post">
        <div class="form-group">
            <label>User Name:</label> <input type="text"
                                                         class="form-control" id="username" placeholder="User Name"
                                                         name="username" required>
        </div>
        <div class="form-group">
            <label>Password:</label> <input type="password"
                                                        class="form-control" id="password" placeholder="Password"
                                                        name="password" required>
        </div>
        <button type="submit" class="btn btn-primary">Submit</button>
    </form>
    <div>
       <br> <h4>New User <a href="register.jsp">Register</a><h4>
    </div>
</div>
</body>
</html>

web.xml

 <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">
    <welcome-file-list>
        <welcome-file>login.jsp</welcome-file>
    </welcome-file-list>
<!--    <servlet>-->
<!--        <servlet-name>login</servlet-name>-->
<!--        <servlet-class>com.package.web.Login</servlet-class>-->
<!--    </servlet>-->
<!--    <servlet-mapping>-->
<!--        <servlet-name>login</servlet-name>-->
<!--        <url-pattern>/login</url-pattern>-->
<!--    </servlet-mapping>-->
<!--    <servlet>-->
<!--        <servlet-name>register</servlet-name>-->
<!--        <servlet-class>com.package.web.Register</servlet-class>-->
<!--    </servlet>-->
<!--    <servlet-mapping>-->
<!--        <servlet-name>register</servlet-name>-->
<!--        <url-pattern>/register</url-pattern>-->
<!--    </servlet-mapping>-->
<!--    <servlet>-->
<!--        <servlet-name>welcome</servlet-name>-->
<!--        <servlet-class>com.package.web.Welcome</servlet-class>-->
<!--    </servlet>-->
<!--    <servlet-mapping>-->
<!--        <servlet-name>welcome</servlet-name>-->
<!--        <url-pattern>/welcome</url-pattern>-->
<!--    </servlet-mapping>-->
</web-app>

When i run the server login.jsp opens and then when i click on register new user then after entering user details and submitting i am getting the error and data is not being saved in the database either.

    HTTP Status 404-Not found 
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.

I tried everything in that were stated in previous stackoverflow answers, if anybody could suggest me anything that would be really helpful.

p.s I am sorry if i pasted extra code in here i am new to jsp idk where the problem is

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
Akhil Garg
  • 89
  • 9

0 Answers0