GithubHelp home page GithubHelp logo

sebbedeb / startcode_2sem_2022 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jonbertelsen/startcode_2sem_2022

0.0 0.0 0.0 560 KB

Simple startcode for maven webprojects spring 2022

Java 99.58% CSS 0.42%

startcode_2sem_2022's Introduction

default-web-applikation med page controller

Startkode på 2. semester efterår 2022

Dette repository er lavet i forbindelse med 2. semester på Datamatikeruddannelsen i Lyngby og på Bornholm efterår 2022.

Java version

I pom.xml er diverse dependencies valgt, så projektet kan bygges og køres i Java 8. Nyere versioner af Java vil formentlig også fungere, men vi har kun testet med version 8 og 11.

Tomcat

Brug version 9.x

Deployment på Droplet

T.B.D.

Du skal gøre følgende for at få webapplikationen i luften:

  1. Beslut dig for hvad projektets database skal hedde.
  2. Først skal du clone projektet eller downloade en zip-fil med projektet til din arbejdsstation.
    1. Clone: git clone [email protected]:jonbertelsen/startcode_2sem_2022.git ditprojektnavn
    2. Slet .git folderen, så du kan gøre projektet til dit eget git-projekt
      1. rm -rf .git/

    3. Opret dit eget git repository:
      1. git init

  3. Det er en god idé at ændre folder-navnet inden du åbner projektet i IntelliJ. Det kan også være en god ide at åbne pom.xml i en simpel editor og rette "name" og "artifactid" før du åbner projektet i IntelliJ. På den måde er navngivningen korrekt fra starten.
  4. Åbn Workbench og kør en tilpasset (med dit databasenavn i stedet for startcode) version af sql-filen startcode.sql, som ligger i mappen resources. Den opretter en database med en user-tabel og en test-database.
  5. Du skal evt. ændre kodeord til databasen i projektet. Det gøres i filerne: /persistence/ConnectionPool i linie 14 og 15. Du skal også ændre i UserMapperTest.
  6. Refactor startcode til dit eget projekt alle de steder, hvor det er relevant. Fx her:
    1. I projektroden
    2. I pom.xml (artifactIdog name elementerne)
  7. Til sidst skal du lave en Tomcat konfiguration. Dvs,
    1. klik på "Add Configuration ..."
    2. Klik på "+" og vælg "Tomcat Server Local".
    3. Klik på "Fix knappen"
    4. Vælg war-exploded som deployment type
    5. Nu kan du klikke på den grønne play-knap for at bygge og køre projektet.
  8. Lav et repo på GitHub til dit projekt

Bemærkninger

Startkoden indeholder følgende:

  • Strukturering i passende packages for overblik (MVC). Noget af strukturen er også givet af Maven, og kan ikke laves om. F.eks. opdelingen i /java og /webapp.
  • Javaservlets
  • JSP sider. Læg dem i WEB-INF som kun skal tilgås via en servlet. Der ligger allerede welcome.jsp
  • En super skrabet css-fil til styling
  • Datamapper for user-tabellen, som anvender en connection pool. Den er package-protected
  • En facadeklasse UserFacade, der bruges til at tilgå dine mappermetoder
  • Fejlhåndtering med exceptions for databaseoperationer. Den skriver også til Tomcat log.
  • Integrationstest af datamapperen for User.

Funktionelt kan applikationen:

  • Vise en forside med links til undersider, som endnu ikke er lavet
  • Logge en user på. Der findes to brugere i databasen.
    1. user med password: 1234 (rolle: user)
    2. admin med password: 1234 (rolle: admin)
  • Man kan se på index.jsp og WEB-INF/welcome.jsp hvordan man kan udnytte om en user er logget på eller ej.
  • Hvis man indtaster ugyldige data under indlogning, bliver man sendt til en en fejlside.
  • Logge en bruger af
  • Metoden isRoleAllowed(String role, HttpServletRequest request) som ligger i pakken services. Den tjekker om en given bruger matcher en given rolle.

MVC arkitektur

startcode_2sem_2022's People

Contributors

jonbertelsen avatar sebbedeb avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.