Kontaktformular erstellen mit Spring boot mvc: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
// via Wikitext Extension for VSCode |
// via Wikitext Extension for VSCode |
||
(6 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Kontaktformular erstellen mit Spring boot mvc | ==Kontaktformular erstellen mit Spring boot mvc== | ||
===Spring boot Starter=== | |||
* Spring Web Starter | |||
== | |||
* Spring Web | |||
* Thymeleaf | * Thymeleaf | ||
* Spring Data JPA | * Spring Boot DevTools | ||
* Spring Data JPA Starter | |||
* H2 Database | * H2 Database | ||
* Spring Security Starter | |||
== | * Validation Starter | ||
* Spring Boot session | |||
===Projektstruktur=== | |||
* src | |||
** main | |||
*** java | |||
**** com.example.demo | |||
***** controller | |||
****** HomeController.java | |||
***** model | |||
****** Contact.java | |||
***** repository | |||
****** ContactRepository.java | |||
***** service | |||
****** ContactService.java | |||
***** DemoApplication.java | |||
*** resources | |||
**** static | |||
***** css | |||
****** style.css | |||
**** templates | |||
***** contact.html | |||
***** index.html | |||
***** login.html | |||
***** register.html | |||
***** welcome.html | |||
**** application.properties | |||
==Roadmap== | |||
* Erstellen Sie ein neues Spring Boot-Projekt | |||
* Fügen Sie die Abhängigkeiten hinzu | |||
* Konfigurieren Sie die Datenbank | |||
* Erstellen Sie das Modell | |||
* Erstellen Sie das Repository | |||
* Erstellen Sie den Service | |||
* Erstellen Sie den Controller | |||
* Erstellen Sie die Ansichten | |||
* Konfigurieren Sie die Sicherheit | |||
* Testen Sie die Anwendung | |||
==Konfigurieren Sie die Datenbank h2== | |||
* application.properties | |||
<pre> | <pre> | ||
spring.datasource.url=jdbc:h2:mem:testdb | |||
spring.datasource.driverClassName=org.h2.Driver | |||
spring.datasource.username=sa | |||
spring.datasource.password= | |||
spring.jpa.database-platform=org.hibernate.dialect.H2Dialect | |||
spring.h2.console.enabled=true | |||
spring.h2.console.path=/h2 | |||
</pre> | </pre> | ||
== | ==Konfigration erstellen Security== | ||
Konfigration erstellen Security | |||
<pre> | <pre> | ||
@Configuration | |||
@EnableWebSecurity | |||
public class SecurityConfig { | |||
@ | @Bean | ||
public | public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { | ||
http | |||
.authorizeHttpRequests((authz) -> authz | |||
.requestMatchers("/admin/**").denyAll() // Verweigere Zugriff auf /admin/** für alle Benutzer | |||
.requestMatchers("/**").permitAll() // Erlaube Zugriff auf /public/** ohne Authentifizierung | |||
.anyRequest().authenticated() // Alle anderen Anfragen erfordern Authentifizierung | |||
) | |||
.formLogin(withDefaults()); // Aktiviere Standard-Formularanmeldung | |||
return http.build(); | |||
} | |||
@Bean | |||
public UserDetailsService userDetailsService() { | |||
UserDetails user = User.withDefaultPasswordEncoder() | |||
.username("Test") | |||
.password("Test") | |||
.roles("USER") | |||
.build(); | |||
return new InMemoryUserDetailsManager(user); | |||
} | |||
} | } | ||
</pre> | </pre> |
Aktuelle Version vom 18. Dezember 2024, 05:32 Uhr
Kontaktformular erstellen mit Spring boot mvc
Spring boot Starter
- Spring Web Starter
- Thymeleaf
- Spring Boot DevTools
- Spring Data JPA Starter
- H2 Database
- Spring Security Starter
- Validation Starter
- Spring Boot session
Projektstruktur
- src
- main
- java
- com.example.demo
- controller
- HomeController.java
- model
- Contact.java
- repository
- ContactRepository.java
- service
- ContactService.java
- DemoApplication.java
- controller
- com.example.demo
- resources
- static
- css
- style.css
- css
- templates
- contact.html
- index.html
- login.html
- register.html
- welcome.html
- application.properties
- static
- java
- main
Roadmap
- Erstellen Sie ein neues Spring Boot-Projekt
- Fügen Sie die Abhängigkeiten hinzu
- Konfigurieren Sie die Datenbank
- Erstellen Sie das Modell
- Erstellen Sie das Repository
- Erstellen Sie den Service
- Erstellen Sie den Controller
- Erstellen Sie die Ansichten
- Konfigurieren Sie die Sicherheit
- Testen Sie die Anwendung
Konfigurieren Sie die Datenbank h2
- application.properties
spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password= spring.jpa.database-platform=org.hibernate.dialect.H2Dialect spring.h2.console.enabled=true spring.h2.console.path=/h2
Konfigration erstellen Security
Konfigration erstellen Security
@Configuration @EnableWebSecurity public class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http .authorizeHttpRequests((authz) -> authz .requestMatchers("/admin/**").denyAll() // Verweigere Zugriff auf /admin/** für alle Benutzer .requestMatchers("/**").permitAll() // Erlaube Zugriff auf /public/** ohne Authentifizierung .anyRequest().authenticated() // Alle anderen Anfragen erfordern Authentifizierung ) .formLogin(withDefaults()); // Aktiviere Standard-Formularanmeldung return http.build(); } @Bean public UserDetailsService userDetailsService() { UserDetails user = User.withDefaultPasswordEncoder() .username("Test") .password("Test") .roles("USER") .build(); return new InMemoryUserDetailsManager(user); } }