Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package kontroler;
- import java.io.IOException;
- import java.io.PrintWriter;
- import javax.servlet.ServletContext;
- import javax.servlet.ServletException;
- import javax.servlet.annotation.WebServlet;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import model.MHbaza;
- import model.MHuzytkownik;
- import model.Narzedzia;
- @WebServlet("/MH")
- public class MH extends HttpServlet {
- private static final long serialVersionUID = 1l;
- public MH(){
- super();
- }
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- doPost(request, response);}
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
- response.setContentType("text/html; charset=utf-8");
- PrintWriter out = response.getWriter();
- ServletContext context = getServletContext();
- String sciazkaMH = context.getRealPath("/WEB-INF/");
- MHbaza baza = new MHbaza(sciazkaMH);
- HttpSession sesja = request.getSession();
- MHuzytkownik uzytkownik = (MHuzytkownik) sesja.getAttribute("uzytkownik");
- if (uzytkownik==null){
- uzytkownik = new MHuzytkownik();
- sesja.setAttribute("uzytkownik", uzytkownik);
- }
- String komunikat = "Nieprawidlowy login lub haslo";
- String akcja = request.getParameter("akcja");
- if(akcja==null) akcja="";
- System.out.println(akcja);
- if(akcja.equals("zaloguj"))
- {String login = request.getParameter("login");
- String haslo = request.getParameter("haslo");
- if(login==null) login="";
- if(haslo==null) haslo="";
- //tu filtracja loginu i hasla z formularza
- uzytkownik = baza.zalogujUzytkownika(login, haslo);
- System.out.println(uzytkownik);
- sesja.setAttribute("uzytkownik", uzytkownik);
- if (uzytkownik.getId()>0) komunikat = "Zostałeś zalogowany jako <b>"+login+"</b>";
- /*if((login.equals("user")) &(haslo.equals("user")))
- {
- uzytkownik.setLogin(login);
- uzytkownik.setUprawnienia(1);
- sesja.setAttribute("uzytkownik", uzytkownik);
- komunikat = "Zostales zalogowany jako <b>"+login+</b>;
- }
- if((login.equals("admin")) &(haslo.equals("admin")))
- {
- uzytkownik.setLogin(login);
- uzytkownik.setUprawnienia(2);
- sesja.setAttribute("uzytkownik", uzytkownik);
- komunikat = "Zostales zalogowany jako <b>"Administrator/b>;
- } */
- }
- else if (akcja.equals("wyloguj"))
- {
- //uzytkownik.setLogin("");
- //uzytkownik.setUprawnienia(-1);
- uzytkownik = new MHuzytkownik();
- sesja.setAttribute("uzytkownik", uzytkownik);
- komunikat = "zostales prawidlowo wylogowany";
- }
- else if(akcja.equals("ustawienia"))
- {
- String imie=request.getParameter("imie");
- String nazwisko = request.getParameter("nazwisko");
- String wiek = request.getParameter("wiek");
- if(imie==null) imie="";
- if(nazwisko==null) nazwisko="";
- if(wiek==null) wiek="";
- uzytkownik.setImie(imie);
- uzytkownik.setNazwisko(nazwisko);
- uzytkownik.setWiek(Narzedzia.parsujInteger(wiek, -1));
- baza.zapiszUstawienia(uzytkownik.getId(), uzytkownik.getImie(), uzytkownik.getNazwisko(), uzytkownik.getWiek());
- String login = uzytkownik.getLogin();
- int uprawnienia = uzytkownik.getUprawnienia();
- uzytkownik.setLogin(login);
- uzytkownik.setUprawnienia(uprawnienia);
- sesja.setAttribute("uzytkownik", uzytkownik);
- komunikat = "ustawiewnia zostaly zapisane";}
- else if (akcja.equals("administracja"))
- { if(uzytkownik.getUprawnienia()==2)
- {
- String kolor = request.getParameter("kolor");
- if (kolor==null) kolor="white";
- context.setAttribute("kolorTla", kolor);
- komunikat = "kolor tla zostal zmieniony";
- }
- }
- else
- komunikat = "nieprawidlowe wywolanie";
- String szablon = Narzedzia.pobierzSzablon("komunikat.html", context);
- szablon = szablon.replace("[KOMUNIKAT]", komunikat);
- String kolorTla = (String) context.getAttribute("kolorTla");
- if(kolorTla==null) kolorTla="white";
- szablon = szablon.replace("[KOLORTLA]", kolorTla);
- out.println(szablon);
- baza.zamknijPolaczenie();
- }
- }
- ----------------------------------------------------------------
- package model;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.PreparedStatement;
- import java.sql.ResultSet;
- import java.sql.SQLException;
- import java.sql.Statement;
- public class MHbaza{
- private static final String DRIVER = "org.sqlite.JDBC";
- public static String DB_URL = "jdbc:sqlite:MHbaza.sqlite";
- private Connection conn;
- private Statement stat;
- public MHbaza(String sciezka){
- DB_URL = "jdbc:sqlite:" + sciezka + "\\MHbaza.sqlite";
- try{
- Class.forName(MHbaza.DRIVER);
- }catch (ClassNotFoundException e){
- System.err.println("Brak sterownika JBDC");
- e.printStackTrace();}
- try {
- conn= DriverManager.getConnection(DB_URL);
- stat = conn.createStatement();}
- catch (SQLException e) {
- System.err.println("Problem z otwarciem polaczenia");
- e.printStackTrace();
- }
- System.out.println("Otwarto bazę: "+DB_URL);
- stworzTablice();
- }
- public boolean czyTabelaIstnieje(String nazwaTabeli)
- { String count = "";
- try{
- ResultSet result =
- stat.executeQuery("SELECT name FROM sqlite_master " + "WHERE type='table' AND name='"+nazwaTabeli+"'");
- while (result.next()){
- count = result.getString("name");
- }
- }catch (SQLException e) {
- e.printStackTrace();
- return false;
- }
- return (count.length()>0);
- }
- public boolean stworzTablice() {
- String createUzytkownicy = "CREATE TABLE IF NOT EXISTS uzytkownicy"
- + " (id INTEGER PRIMARY KEY AUTOINCREMENT, "
- + " login varchar(255), haslo varchar(255), uprawnienia int)";
- String createUstawienia = "CREATE TABLE IF NOT EXISTS ustawienia"
- + "(id INTEGER PRIMARY KEY AUTOINCREMENT, "
- + " id_uzytkownika int, imie varchar(255), nazwisko varchar(255), "
- + " wiek int)";
- try {
- if(!czyTabelaIstnieje("uzytkownicy")){
- stat.execute(createUzytkownicy);
- System.out.println("Tworzenie tabeli uzytkownicy");
- wstawUzytkownikow();}
- try {
- if(!czyTabelaIstnieje("ustawienia")){
- stat.execute(createUstawienia);
- System.out.println("Tworzenie tabeli ustawienia");
- zapiszUstawienia(pobierzIdUzytkownika("user"), "", "", -1);
- zapiszUstawienia(pobierzIdUzytkownika("admin"), "", "", -1);
- }
- }catch(SQLException e){
- System.err.println("Błąd przy tworzeniu tabel");
- e.printStackTrace();
- return false;
- }
- return true;
- }
- public boolean wstawUzytkownikow()
- {try {
- PreparedStatement statementUzytkownicy1 =
- conn.prepareStatement("INSERT INTO uzytkownicy " + "values (NULL, ? ,?, ?);");
- statementUzytkownicy1.setString(1, "user");
- statementUzytkownicy1.setString(2, "user");
- statementUzytkownicy1.setInt(3, 1);
- statementUzytkownicy1.execute();
- PreparedStatement statementUzytkownicy2 =
- conn.prepareStatement("INSERT INTO uzytkownicy " + "values (NULL, ? ,?, ?);");
- statementUzytkownicy2.setString(1, "admin");
- statementUzytkownicy2.setString(2, "admin");
- statementUzytkownicy2.setInt(3, 2);
- statementUzytkownicy2.execute();
- }catch (SQLException e) {
- System.err.println("Błąd przy wstawianiu użytkowników");
- e.printStackTrace();
- return false;}
- return true;}
- public boolean zapiszUstawienia(int id_uzytkownika, String imie, String nazwisko, int wiek) {
- try {
- PreparedStatement statementUstawienia = conn.prepareStatement("INSERT INTO ustawienia " + "values (NULL, ?, ?, ?,?);");
- statementUstawienia.setInt(1, id_uzytkownika);
- statementUstawienia.setString(2, imie);
- statementUstawienia.setString(3, nazwisko);
- statementUstawienia.setInt(4, wiek);
- statementUstawienia.execute();
- }catch (SQLException e) {
- System.err.println("Błąd przy zapisywaniu ustawień");
- e.printStackTrace();
- return false;
- }
- return true;
- }
- public int pobierzIdUzytkownika(String login){
- int id =-1;
- try{
- ResultSet wynik = stat.executeQuery("SELECT * FROM uzytkownicy " + "where login'"+login+"' LIMIT 1");
- while(wynik.next()){
- id = wynik.getInt("id");
- }
- }catch (SQLException e) {
- e.printStackTrace();
- id = -1;
- }
- return id;
- }
- public void zamknijPolaczenie(){
- try{
- conn.close();
- }catch(SQLException e) {
- System.err.println("Problem z zamknieciem polaczenia");
- e.printStackTrace();
- }
- System.out.println("Zakmnieto polaczenie z baza");
- }
- public MHuzytkownik zalogujUzytkownika(String l, String h){
- int id =-1;
- int uprawnienia = -1;
- String login = "";
- String haslo = "";
- String imie = "";
- String nazwisko = "";
- int wiek = -1;
- MHuzytkownik uzytkownik = new MHuzytkownik();
- try{
- String zapytanie = "SELECT * FROM uzytkownicy, ustawienia "
- + "WHERE uzytkownicy.login = '" + l + "' "
- + "and ustawienia.id_uzytkownika = uzytkownicy.id "
- + "ORDER BY ustawienia.id DESC LIMIT 1; ";
- ResultSet wynik = stat.executeQuery(zapytanie);
- while(wynik.next()){
- id = wynik.getInt("id_uzytkownika");
- login = wynik.getString("login");
- haslo = wynik.getString("haslo");
- uprawnienia = wynik.getInt("uprawnienia");
- imie = wynik.getString("imie");
- nazwisko = wynik.getString("nazwisko");
- wiek = wynik.getInt("wiek");
- }
- }catch (SQLException e) {
- System.err.println("Błąd bazy przy logowaniu uzytkownika");
- e.printStackTrace();
- uzytkownik = new MHuzytkownik();
- }
- if ((login.equals(1)) && (haslo.equals(h))) {
- uzytkownik = new MHuzytkownik(id, login, uprawnienia, imie, nazwisko, wiek);}
- return uzytkownik;
- }
- }
- -------------------------------------------------------
- package model;
- public class MHuzytkownik {
- private int id = -1;
- private String login = "";
- private int uprawnienia = -1;
- //-1 niezalogowany 1 zalogowany 2 admin
- private String imie = "";
- private String nazwisko = "";
- private int wiek = -1;
- public MHuzytkownik(){
- }
- public MHuzytkownik(int id, String login, int uprawnienia, String imie, String nazwisko, int wiek) {
- super();
- this.id = id;
- this.login = login;
- this.uprawnienia = uprawnienia;
- this.imie = imie;
- this.nazwisko = nazwisko;
- this.wiek = wiek;}
- public int getId() {
- return id;}
- public String getImie(){
- return imie;}
- public void setImie(String imie){
- this.imie = filtruj(imie);}
- public String getNazwisko(){
- return nazwisko;}
- public void setNazwisko(String nazwisko){
- this.nazwisko = filtruj(nazwisko);}
- public int getWiek(){
- return wiek;}
- public void setWiek(int wiek){
- this.wiek=wiek;}
- public String getLogin(){
- return login;}
- public void setLogin(String login){
- this.login = login;}
- public int getUprawnienia(){
- return uprawnienia;}
- public void setUprawnienia(int uprawnienia){
- this.uprawnienia = uprawnienia;}
- public String getWieks() {
- if (this.wiek>=0)
- return ""+this.wiek;
- else return "";}
- public static String filtruj(String wejscie){
- StringBuffer filtrowane = new StringBuffer();
- char c;
- for (int i=0; 0<wejscie.length(); i++)
- { c= wejscie.charAt(i);
- switch(c)
- {
- case '<': filtrowane.append("<"); break;
- case '>': filtrowane.append(">"); break;
- case '"': filtrowane.append("""); break;
- case '&': filtrowane.append("&"); break;
- default: filtrowane.append(c);
- }
- }
- return filtrowane.toString();
- }
- public String toString(){
- return "MHuzytkownik [id=" + id + ", login=" + login + ", uprawnienia=" + uprawnienia + ", imie=" + imie + ", nazwisko=" + nazwisko + ", wiek=" + wiek + "]";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement