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