From c2f57deb7c7216cd7b95c7f0fc4885c6350b38f6 Mon Sep 17 00:00:00 2001 From: Ognjen Cirkovic Date: Thu, 22 Dec 2022 01:07:57 +0100 Subject: Napravljene stranice za login i registraciju.I index stranice za user-a i admin-a. Omogucena registracija i login. Klase zadovoljavaju bean standard. --- src/main/java/models/Ability.java | 10 +++--- src/main/java/models/AbilityType.java | 4 ++- src/main/java/models/CONSTS.java | 6 ++++ src/main/java/models/Monster.java | 4 ++- src/main/java/models/MonsterViewModel.java | 3 +- src/main/java/models/User.java | 13 +++++++- src/main/java/pokemon/IService.java | 18 +++++++++++ src/main/java/pokemon/Server.java | 27 ++++++++++++++++ src/main/java/pokemon/Service.java | 49 ++++++++++++++++++++++++++++++ src/main/webapp/index.jsp | 38 +++++++++++++++++------ src/main/webapp/pages/adminIndex.jsp | 38 +++++++++++++++++++++++ src/main/webapp/pages/login.jsp | 32 +++++++++++++++++++ src/main/webapp/pages/register.jsp | 19 ++++++++++++ src/main/webapp/pages/registerAdmin.jsp | 20 ++++++++++++ src/main/webapp/pages/registerPage.jsp | 24 +++++++++++++++ src/main/webapp/pages/userIndex.jsp | 12 ++++++++ 16 files changed, 300 insertions(+), 17 deletions(-) create mode 100644 src/main/java/models/CONSTS.java create mode 100644 src/main/java/pokemon/IService.java create mode 100644 src/main/java/pokemon/Server.java create mode 100644 src/main/java/pokemon/Service.java create mode 100644 src/main/webapp/pages/adminIndex.jsp create mode 100644 src/main/webapp/pages/login.jsp create mode 100644 src/main/webapp/pages/register.jsp create mode 100644 src/main/webapp/pages/registerAdmin.jsp create mode 100644 src/main/webapp/pages/registerPage.jsp create mode 100644 src/main/webapp/pages/userIndex.jsp (limited to 'src/main') diff --git a/src/main/java/models/Ability.java b/src/main/java/models/Ability.java index e6a00d1..1a174cf 100644 --- a/src/main/java/models/Ability.java +++ b/src/main/java/models/Ability.java @@ -1,8 +1,10 @@ package models; -public class Ability { +import java.io.Serializable; + +public class Ability implements Serializable { public long id; - public int monsterId; + public long monsterId; public String Name; public String description; public AbilityType type; @@ -20,10 +22,10 @@ public class Ability { public void setId(long id) { this.id = id; } - public int getMonsterId() { + public long getMonsterId() { return monsterId; } - public void setMonsterId(int monsterId) { + public void setMonsterId(long monsterId) { this.monsterId = monsterId; } public String getName() { diff --git a/src/main/java/models/AbilityType.java b/src/main/java/models/AbilityType.java index 5b4e1eb..43dd3dc 100644 --- a/src/main/java/models/AbilityType.java +++ b/src/main/java/models/AbilityType.java @@ -1,6 +1,8 @@ package models; -public enum AbilityType { +import java.io.Serializable; + +public enum AbilityType implements Serializable{ ATTACK, SPECIAL, HEAL, diff --git a/src/main/java/models/CONSTS.java b/src/main/java/models/CONSTS.java new file mode 100644 index 0000000..3e66a69 --- /dev/null +++ b/src/main/java/models/CONSTS.java @@ -0,0 +1,6 @@ +package models; + +public class CONSTS { + public static final String rmiUrl="rmi://localhost:5555/rmi"; + +} diff --git a/src/main/java/models/Monster.java b/src/main/java/models/Monster.java index dc16205..a4b40e8 100644 --- a/src/main/java/models/Monster.java +++ b/src/main/java/models/Monster.java @@ -1,6 +1,8 @@ package models; -public class Monster { +import java.io.Serializable; + +public class Monster implements Serializable{ public long id; public String name; public String description; diff --git a/src/main/java/models/MonsterViewModel.java b/src/main/java/models/MonsterViewModel.java index fed9152..b10cd34 100644 --- a/src/main/java/models/MonsterViewModel.java +++ b/src/main/java/models/MonsterViewModel.java @@ -1,8 +1,9 @@ package models; +import java.io.Serializable; import java.util.ArrayList; -public class MonsterViewModel { +public class MonsterViewModel implements Serializable{ public long id; public String name; public String description; diff --git a/src/main/java/models/User.java b/src/main/java/models/User.java index 08e4ab0..3c341a2 100644 --- a/src/main/java/models/User.java +++ b/src/main/java/models/User.java @@ -1,11 +1,22 @@ package models; -public class User { +import java.io.Serializable; + +public class User implements Serializable{ public long id; public String username; public String password; public boolean admin; + public long monsterId; + public long getmonsterId() { + return monsterId; + } + + public void setmonsterId(long monsterId) { + this.monsterId = monsterId; + } + public long getId() { return id; } diff --git a/src/main/java/pokemon/IService.java b/src/main/java/pokemon/IService.java new file mode 100644 index 0000000..c99271c --- /dev/null +++ b/src/main/java/pokemon/IService.java @@ -0,0 +1,18 @@ +package pokemon; + +import java.rmi.Remote; +import java.rmi.RemoteException; +import java.util.ArrayList; + +import models.Ability; +import models.Monster; +import models.User; + +public interface IService extends Remote { + public boolean addUser(User user)throws RemoteException; + public User login(User user)throws RemoteException; + public long addMonster(Monster monster)throws RemoteException; + public boolean addAbility(Ability ability)throws RemoteException; + public ArrayList getMonsters()throws RemoteException; + +} diff --git a/src/main/java/pokemon/Server.java b/src/main/java/pokemon/Server.java new file mode 100644 index 0000000..695fafb --- /dev/null +++ b/src/main/java/pokemon/Server.java @@ -0,0 +1,27 @@ +package pokemon; + +import java.net.MalformedURLException; +import java.rmi.Naming; +import java.rmi.RemoteException; +import java.rmi.registry.LocateRegistry; + +import models.CONSTS; + +public class Server { + + public static void main(String[] args) { + try { + IService s=new Service(); + System.out.println("created registry at 5555"); + LocateRegistry.createRegistry(5555); + Naming.rebind(CONSTS.rmiUrl, s); + + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + + + } + +} diff --git a/src/main/java/pokemon/Service.java b/src/main/java/pokemon/Service.java new file mode 100644 index 0000000..0931a0f --- /dev/null +++ b/src/main/java/pokemon/Service.java @@ -0,0 +1,49 @@ +package pokemon; + +import java.rmi.RemoteException; +import java.rmi.server.UnicastRemoteObject; +import java.util.ArrayList; + +import database.Database; +import models.Ability; +import models.Monster; +import models.User; + +public class Service extends UnicastRemoteObject implements IService { + + protected Service() throws RemoteException { + super(); + } + + @Override + public boolean addUser(User user) throws RemoteException{ + Database db=Database.getInstance(); + return db.addUser(user); + } + + @Override + public User login(User user) throws RemoteException{ + Database db=Database.getInstance(); + return db.login(user); + } + + @Override + public long addMonster(Monster monster)throws RemoteException { + Database db=Database.getInstance(); + return db.addMonster(monster); + } + + @Override + public boolean addAbility(Ability ability) throws RemoteException{ + Database db=Database.getInstance(); + return db.addAbility(ability); + } + + @Override + public ArrayList getMonsters()throws RemoteException { + Database db=Database.getInstance(); + return db.getMonsters(); + } + + +} diff --git a/src/main/webapp/index.jsp b/src/main/webapp/index.jsp index 68385f6..2086f22 100644 --- a/src/main/webapp/index.jsp +++ b/src/main/webapp/index.jsp @@ -1,3 +1,5 @@ +<%@page import="java.rmi.Naming"%> +<%@page import="pokemon.IService"%> <%@page import="java.util.ArrayList"%> <%@page import="models.Monster"%> <%@page import="models.User"%> @@ -9,21 +11,39 @@ -Insert title here +Login -<% +

Login

-Database db=Database.getInstance(); +
+ Korisnicko ime +
+ Sifra +
+

+ <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") ) + out.print("Pogresan login"); + %> +

+

+ <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-2") ) + out.print("Uspesna registracija"); + %> +

+ +
-ArrayList m=db.getMonsters(); +
+ + + +

+

Lista korisnika

-for(Monster mon:m){ - out.println(mon+"
"); -} -%> - \ No newline at end of file diff --git a/src/main/webapp/pages/adminIndex.jsp b/src/main/webapp/pages/adminIndex.jsp new file mode 100644 index 0000000..e4225e2 --- /dev/null +++ b/src/main/webapp/pages/adminIndex.jsp @@ -0,0 +1,38 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +Admin + + + +

Registracija novog admina

+
+ Korisnicko ime +
+ Sifra +
+

+ <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") ) + out.print("Username vec postoji"); + %> +

+

+ <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-2") ) + out.print("Uspesna registracija"); + %> +

+ +
+

+

+ + + + + + \ No newline at end of file diff --git a/src/main/webapp/pages/login.jsp b/src/main/webapp/pages/login.jsp new file mode 100644 index 0000000..71650c5 --- /dev/null +++ b/src/main/webapp/pages/login.jsp @@ -0,0 +1,32 @@ +<%@page import="models.User"%> +<%@page import="models.CONSTS"%> +<%@page import="java.rmi.Naming"%> +<%@page import="pokemon.IService"%> + + + + +<% + IService service=(IService)Naming.lookup(CONSTS.rmiUrl); + User s=service.login(user); + if(s==null) + { + response.sendRedirect("../index.jsp?id=-1"); + }else { + session.setAttribute("id", s.getId()); + session.setAttribute("username", s.getUsername()); + session.setAttribute("admin", s.isAdmin()); + if(s.isAdmin()) + response.sendRedirect("adminIndex.jsp"); + else + response.sendRedirect("userIndex.jsp"); + } + + + + + + + + +%> \ No newline at end of file diff --git a/src/main/webapp/pages/register.jsp b/src/main/webapp/pages/register.jsp new file mode 100644 index 0000000..e8de339 --- /dev/null +++ b/src/main/webapp/pages/register.jsp @@ -0,0 +1,19 @@ +<%@page import="models.User"%> +<%@page import="models.CONSTS"%> +<%@page import="java.rmi.Naming"%> +<%@page import="pokemon.IService"%> + + + + +<% + IService service=(IService)Naming.lookup(CONSTS.rmiUrl); + boolean s=service.addUser(user); + if(s) + { + response.sendRedirect("../index.jsp?id=-2"); + } + else{ + response.sendRedirect("registerPage.jsp?id=-1"); + } +%> \ No newline at end of file diff --git a/src/main/webapp/pages/registerAdmin.jsp b/src/main/webapp/pages/registerAdmin.jsp new file mode 100644 index 0000000..1dd42bf --- /dev/null +++ b/src/main/webapp/pages/registerAdmin.jsp @@ -0,0 +1,20 @@ +<%@page import="models.User"%> +<%@page import="models.CONSTS"%> +<%@page import="java.rmi.Naming"%> +<%@page import="pokemon.IService"%> + + + + +<% + IService service=(IService)Naming.lookup(CONSTS.rmiUrl); + user.setAdmin(true); + boolean s=service.addUser(user); + if(s) + { + response.sendRedirect("adminIndex.jsp?id=-2"); + } + else{ + response.sendRedirect("adminIndex.jsp?id=-1"); + } +%> \ No newline at end of file diff --git a/src/main/webapp/pages/registerPage.jsp b/src/main/webapp/pages/registerPage.jsp new file mode 100644 index 0000000..0f6cf3e --- /dev/null +++ b/src/main/webapp/pages/registerPage.jsp @@ -0,0 +1,24 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +Insert title here + + +
+ Korisnicko ime +
+ Sifra +
+

+ <% + if(request.getParameter("id")!=null &&request.getParameter("id").equals("-1") ) + out.print("Username vec postoji"); + %> +

+ +
+ + \ No newline at end of file diff --git a/src/main/webapp/pages/userIndex.jsp b/src/main/webapp/pages/userIndex.jsp new file mode 100644 index 0000000..6379107 --- /dev/null +++ b/src/main/webapp/pages/userIndex.jsp @@ -0,0 +1,12 @@ +<%@ page language="java" contentType="text/html; charset=ISO-8859-1" + pageEncoding="ISO-8859-1"%> + + + + +User + + + + + \ No newline at end of file -- cgit v1.2.3