Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
- pageEncoding="ISO-8859-1"%>
- <%@ taglib prefix="s" uri="/struts-tags"%>
- <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
- <title>Welcome to Popular Movies</title>
- <style type="text/css">
- .errors {
- background-color:#FFCCCC;
- border:1px solid #CC0000;
- width:400px;
- margin-bottom:8px;
- }
- .errors li{
- list-style: none;
- }
- </style>
- </head>
- <body>
- <h2>Please Log in</h2>
- <div id="errorMessage" >
- <s:if test="hasActionErrors()">
- <div class="errors" >
- <s:actionerror/>
- </div>
- </s:if>
- </div>
- <s:form action="login" method="post" name="myForm" onSubmit="return preValidate(errorMessage, userName, userPassword)" >
- <s:textfield name="userName" label="Name" size="20" id="userName" />
- <s:password name="password" label="Password" size="20" id="userPassword" />
- <s:hidden name="registration" value="false" />
- <s:submit value="Submit" align="center" />
- </s:form>
- <hr>
- <a href="/PopularMovies/registration.jsp">Sign up free</a>
- </body>
- <script type="text/javascript" src="validation.js">
- </script>
- </html>
- package com.esi.actions;
- import com.opensymphony.xwork2.ActionSupport;
- import java.util.List;
- import org.hibernate.Session;
- import org.hibernate.SessionFactory;
- import org.hibernate.cfg.Configuration;
- import com.sans.model.Movie;
- import com.sans.model.Movies;
- import com.sans.model.user_account;
- import org.hibernate.HibernateException;
- import org.hibernate.Query;
- @SuppressWarnings("serial")
- public class Login extends ActionSupport {
- private String password;
- private String userName;
- private String email;
- private String firstName;
- private String lastName;
- private String registration;
- private static SessionFactory sessionFactory;
- @SuppressWarnings("deprecation")
- public String execute() {
- boolean isRegistration = Boolean.parseBoolean(registration);
- System.out.println("Action called from struts.xml");
- try {
- //Setting up Hibernate configuration
- System.out.println("Attempting Database connection...");
- sessionFactory = new Configuration().configure().buildSessionFactory();
- }
- catch(Exception ex){
- System.out.println("Failed to create sessionFactory object. " + ex.toString());
- return INPUT;
- }
- // If Registration flag is set to true then it means user is trying to register
- // else authenticate user
- if(isRegistration) {
- if(this.addUser()) {
- return SUCCESS;
- }
- else {
- return INPUT;
- }
- }
- else {
- if(this.authenticateUser(this.getUserName())) {
- return SUCCESS;
- }
- else {
- return INPUT;
- }
- }
- }
- public boolean addUser() {
- boolean result = false;
- user_account user = new user_account();
- user.setUser_Name(this.getUserName());
- user.setFirstName(this.getFirstName());
- user.setLastName(this.getLastName());
- user.setEmail(this.getEmail());
- user.setUser_Password(this.getPassword());
- Session session = sessionFactory.openSession();
- try{
- session.beginTransaction();
- session.save(user);
- session.getTransaction().commit();
- result = true;
- addActionMessage("Welcome " + user.getUser_Name());
- }
- catch(HibernateException e){
- if(session.getTransaction() != null)
- session.getTransaction().rollback();
- System.out.println("Error trying to insert user to database.. " + e.getMessage() + "nStack Trace: ");
- e.printStackTrace();
- }
- finally {
- session.close();
- }
- return result;
- }
- public boolean authenticateUser(String userName) {
- boolean result = false;
- Session session = sessionFactory.openSession();
- try{
- session.beginTransaction();
- String hql = "FROM user_account U WHERE U.User_Name = :userName";
- Query query = session.createQuery(hql);
- query.setParameter("userName", userName);
- List results = query.list();
- //If the query result size is 0, then it means user does not exist in database
- if(results.size() != 0) {
- user_account user = (user_account)results.get(0);
- if(this.getUserName().equals(user.getUser_Name()) && this.getPassword().equals(user.getUser_Password())) {
- addActionMessage("Welcome " + user.getUser_Name());
- result = true;
- }
- else {
- addActionError("Invalid User");
- result = false;
- }
- }
- else {
- addActionError("Invalid User");
- result = false;
- }
- session.getTransaction().commit();
- }
- catch(HibernateException e){
- if(session.getTransaction() != null)
- session.getTransaction().rollback();
- System.out.println("Error trying to insert user to database.. " + e.toString());
- }
- catch(IndexOutOfBoundsException e) {
- }
- catch(Exception ex) {
- System.out.println("Something went wrong: " + ex.toString());
- }
- finally {
- session.close();
- }
- return result;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public String getFirstName() {
- return firstName;
- }
- public void setFirstName(String firstName) {
- this.firstName = firstName;
- }
- public String getLastName() {
- return lastName;
- }
- public void setLastName(String lastName) {
- this.lastName = lastName;
- }
- public String getRegistration() {
- return registration;
- }
- public void setRegistration(String registration) {
- this.registration = registration;
- }
- }
- <?xml version="1.0" encoding="UTF-8"?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
- "http://struts.apache.org/dtds/struts-2.0.dtd">
- <struts>
- </struts>
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
- <display-name>PopularMovies</display-name>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>default.html</welcome-file>
- <welcome-file>default.htm</welcome-file>
- <welcome-file>default.jsp</welcome-file>
- </welcome-file-list>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- </web-app>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement