Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //source file: util/DB.java
- package util;
- import java.sql.Connection;
- import java.sql.DriverManager;
- public class DB {
- private static DB instance;
- private static final int MAX_CON = 5;
- private static final Connection[] bafer = new Connection[MAX_CON];
- private int first = 0, last = 0, free = MAX_CON;
- private DB() { //za MySQL
- try {
- Class.forName("com.mysql.jdbc.Driver");
- for (int i = 0; i < MAX_CON; i++) {
- bafer[i] =
- DriverManager.getConnection
- ("jdbc:mysql://localhost:3306/dbkorisnik", "root", "");
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /* za Access
- private DB(){
- try{
- Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
- for(int i=0; i<MAX_CON; i++)
- bafer[i] = DriverManager.getConnection("jdbc:odbc:dbkorisnik");
- }catch(Exception e){}
- }
- */
- public static DB getInstance() {
- if (instance == null) {
- instance = new DB();
- }
- return instance;
- }
- public synchronized Connection getConnection() {
- if (free == 0) {
- return null;
- }
- free--;
- Connection con = bafer[first];
- first = (first + 1) % MAX_CON;
- return con;
- }
- public synchronized void putConnection(Connection con) {
- if (con == null) {
- return;
- }
- free++;
- bafer[last] = con;
- last = (last + 1) % MAX_CON;
- }
- }
- //source file: beans/Korisnik.java
- //Java bean
- package beans;
- public class Korisnik {
- private String username = "";
- private String password = "";
- private String email = "";
- private String telefon = "";
- private String ime = "";
- private String prezime = "";
- public String getUsername() {
- return username;
- }
- public void setUsername(String username) {
- this.username = username;
- }
- public String getPassword() {
- return password;
- }
- public void setPassword(String password) {
- this.password = password;
- }
- public String getEmail() {
- return email;
- }
- public void setEmail(String email) {
- this.email = email;
- }
- public String getTelefon() {
- return telefon;
- }
- public void setTelefon(String telefon) {
- this.telefon = telefon;
- }
- public String getIme() {
- return ime;
- }
- public void setIme(String ime) {
- this.ime = ime;
- }
- public String getPrezime() {
- return prezime;
- }
- public void setPrezime(String prezime) {
- this.prezime = prezime;
- }
- }
- //source file: servleti/Login.java
- //servlet za logovanje korisnika u sistem
- package servleti;
- import beans.*;
- import java.io.*;
- import java.sql.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import util.DB;
- public class Login extends HttpServlet {
- protected void doPost(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
- HttpSession sesija = request.getSession();
- String poruka = "";
- String username = (String) request.getParameter("username");
- String password = (String) request.getParameter("password");
- Korisnik korisnik = new Korisnik();
- korisnik.setUsername(username);
- korisnik.setPassword(password);
- sesija.setAttribute("korisnik", korisnik);
- if (username.isEmpty() || password.isEmpty()) {
- poruka = "Niste popunili sva polja!";
- request.setAttribute("poruka", poruka);
- RequestDispatcher rd = request.getRequestDispatcher("/index.jsp");
- rd.forward(request, response);
- }
- Connection con = null;
- Statement stmt = null;
- ResultSet rs = null;
- String address = "prikaz.jsp";
- try {
- con = DB.getInstance().getConnection();
- stmt = con.createStatement();
- String upit = "select * from KorisnikInfo where username='" +
- username + "' and password='" + password + "';";
- rs = stmt.executeQuery(upit);
- if (rs.next()) {
- String email = rs.getString("email");
- String ime = rs.getString("first_name");
- String prezime = rs.getString("last_name");
- String telefon = rs.getString("phone");
- korisnik.setEmail(email);
- korisnik.setIme(ime);
- korisnik.setPrezime(prezime);
- korisnik.setTelefon(telefon);
- stmt.close();
- request.setAttribute("poruka", "Vasi podaci");
- } else {
- poruka = "Neispravno korisnicko ime i lozinka!
- Pokusajte ponovo.";
- request.setAttribute("poruka", poruka);
- korisnik.setPassword("");
- address = "index.jsp";
- stmt.close();
- }
- } catch (SQLException ex) {
- sesija.invalidate();
- String errormsg = ex.getMessage();
- request.setAttribute("errormsg", errormsg);
- address = "error.jsp";
- } finally {
- DB.getInstance().putConnection(con);
- }
- RequestDispatcher rd = request.getRequestDispatcher(address);
- rd.forward(request, response);
- }
- }
- //source file: servleti/Logout.java
- //servlet za izlogovanje korisnika iz sistema
- package servleti;
- import java.io.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- public class Logout extends HttpServlet {
- protected void processRequest(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
- request.getSession().invalidate();
- request.getRequestDispatcher("kraj.jsp").forward(request, response);
- }
- @Override
- protected void doGet(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
- @Override
- protected void doPost(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
- processRequest(request, response);
- }
- }
- //source file: servleti/Izmena.java
- //servlet za promenu podataka o korisniku
- package servleti;
- import beans.Korisnik;
- import java.io.*;
- import java.sql.*;
- import javax.servlet.*;
- import javax.servlet.http.*;
- import util.DB;
- public class Izmena extends HttpServlet {
- @Override
- protected void doPost(HttpServletRequest request,
- HttpServletResponse response)
- throws ServletException, IOException {
- HttpSession sesija = request.getSession();
- Korisnik korisnik = (Korisnik) sesija.getAttribute("korisnik");
- String ime = (String) request.getParameter("ime");
- String prezime = (String) request.getParameter("prezime");
- String telefon = (String) request.getParameter("telefon");
- String email = (String) request.getParameter("email");
- korisnik.setIme(ime);
- korisnik.setPrezime(prezime);
- korisnik.setTelefon(telefon);
- korisnik.setEmail(email);
- String upit = "update KorisnikInfo "
- + "set first_name='" + ime + "',last_name='" + prezime
- + "', phone='" + telefon + "', email='" + email + "'"
- + "where username='" + korisnik.getUsername() + "';";
- Connection con = null;
- Statement stmt = null;
- String address = "prikaz.jsp";
- try {
- con = DB.getInstance().getConnection();
- stmt = con.createStatement();
- stmt.executeUpdate(upit);
- stmt.close();
- con.close();
- } catch (SQLException ex) {
- sesija.invalidate();
- String errormsg = ex.getMessage();
- request.setAttribute("errormsg", errormsg);
- address = "error";
- } finally {
- DB.getInstance().putConnection(con);
- }
- request.setAttribute("poruka", "Podaci su uspesno izmenjeni");
- RequestDispatcher rd = request.getRequestDispatcher(address);
- rd.forward(request, response);
- }
- }
- //web page: index.jsp
- //prva strana za logovanje korisnika
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Korisnička aplikacija</title>
- </head>
- <body>
- <h3>${(poruka!=null) ? poruka : "Dobrodošli!"} </h3><br/><br/>
- <form action="login" method="POST">
- <table>
- <tr>
- <td>Korisničko ime:</td>
- <td><input type="text" name="username"
- value="${korisnik.username}" size="20"/></td>
- </tr>
- <tr>
- <td>Lozinka:</td>
- <td><input type="password" name="password"
- value="${korisnik.password}" size="20"/></td>
- </tr>
- <tr>
- <td><input type="submit" value="Ulogujte se"/></td>
- <td><input type="reset" value="Poništite"/></td>
- </tr>
- </table>
- </form>
- </body>
- </html>
- //web page: kraj.jsp
- //poslednja strana kada se korisnik izloguje
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Doviđenja</title>
- </head>
- <body>
- <h1>Doviđenja</h1>
- <a href="index.jsp">Na početak</a>
- </body>
- </html>
- //web page: prikaz.jsp
- //prva strana nakon logovanja, koja prikazuje podatke o korisniku
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- <title>Korisnička aplikacija</title>
- </head>
- <body>
- <h3>${poruka}</h3><br/><br/>
- <table width="40%" border="3">
- <tr><td width="50%"> Korisničko ime:</td>
- <td>${korisnik.username} </td></tr>
- <tr><td>Ime:</td>
- <td>${korisnik.ime}</td></tr>
- <tr><td>Prezime:</td>
- <td>${korisnik.prezime}</td></tr>
- <tr><td>Email:</td>
- <td>${korisnik.email}</td></tr>
- <tr><td>Telefon:</td>
- <td>${korisnik.telefon}</td></tr>
- </table><br/>
- <a href="promena.jsp">Promenite podatke</a>
- <a href="logout">Izlogujte se</a>
- </body>
- </html>
- //web page: promena.jsp
- //strana na kojoj korisnik moze promeniti svoje podatke
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- <title>Korisnička aplikacija</title>
- </head>
- <body>
- <h3>Vaši podaci koje možete menjati</h3><br/><br/>
- <form action="izmena" method="post" >
- <table width="40%" border="3">
- <tr><td width="50%">Ime:</td>
- <td><input type="text" name="ime" value="${korisnik.ime}"
- size="30"/></td></tr>
- <tr><td>Prezime:</td>
- <td><input type="text" name="prezime"
- value="${korisnik.prezime}" size="30"/></td></tr>
- <tr><td>Email:</td>
- <td><input type="text" name="email" value="${korisnik.email}"
- size="30"/></td></tr>
- <tr><td>Telefon:</td>
- <td><input type="text" name="telefon"
- value="${korisnik.telefon}" size="30" /></td></tr>
- </table><br/>
- <input type="submit" value="Prihvatite izmenu"/>
- </form>
- </body>
- </html>
- //web page: error.jsp
- //strana na kojoj se prikazuje poruka o gresci
- <%@page contentType="text/html" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML>
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
- <title>Greška</title>
- </head>
- <body>
- <h1>Greška u radu sa bazom podataka</h1>
- <h3>${errormsg}</h3>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement