Dette repository er lavet i forbindelse med 2. semester på Datamatikeruddannelsen i Lyngby og på Bornholm efterår 2022.
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.
Brug version 9.x
T.B.D.
- Beslut dig for hvad projektets database skal hedde.
- Først skal du clone projektet eller downloade en zip-fil med projektet til din arbejdsstation.
- Clone:
git clone [email protected]:jonbertelsen/startcode_2sem_2022.git ditprojektnavn
- Slet .git folderen, så du kan gøre projektet til dit eget git-projekt
-
rm -rf .git/
-
- Opret dit eget git repository:
-
git init
-
- Clone:
- 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.
- Åbn Workbench og kør en tilpasset (med dit databasenavn i stedet for
startcode
) version af sql-filenstartcode.sql
, som ligger i mappenresources
. Den opretter en database med en user-tabel og en test-database. - 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. - Refactor
startcode
til dit eget projekt alle de steder, hvor det er relevant. Fx her:- I projektroden
- I pom.xml (
artifactId
ogname
elementerne)
- Til sidst skal du lave en Tomcat konfiguration. Dvs,
- klik på "Add Configuration ..."
- Klik på "+" og vælg "Tomcat Server Local".
- Klik på "Fix knappen"
- Vælg war-exploded som deployment type
- Nu kan du klikke på den grønne play-knap for at bygge og køre projektet.
- Lav et repo på GitHub til dit projekt
- 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.
- Vise en forside med links til undersider, som endnu ikke er lavet
- Logge en user på. Der findes to brugere i databasen.
user
med password:1234
(rolle:user
)admin
med password:1234
(rolle:admin
)
- Man kan se på
index.jsp
ogWEB-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 pakkenservices
. Den tjekker om en given bruger matcher en given rolle.