###### tags: `CheatSheet` `Notes` `Java` `Starter`
# Full Java Project Starter Notes
---
- - All imports are not included in the below code don't forget to import them
## Open Spring Suite
- Start workspace in the default folder where we save the project will be different
## If needed install the following first
### JSP
- Help -> Install New Software
- Start typing spring in the work with section and double click the Spring Tool Suite 4 - https......
- Scroll to bottom and click Web, XML
- Follow prompts to install.
- Spring will need to restart let it
### Market Place Packages
- Help -> Eclipse Marketplase
- Search for packages you might use below are common ones
#### Packages
- Emmet - it will need a restart
- then go to Preferences
- Click on Emmet
- Add jsp to the list of files
## Create Starter project
- Name - (PascalCase)
- Location - uncheck default and put it where you want it
- Type - Mavan
- Java Version - 8
- Packaging - War
- Language - Java
- Group com.codingdojo.(lowercase)
- Artifact - (PascalCase)
- Description -
- Package - com.codingdojo.(lowercase)

- Chose the Dependencies

## Add Dependencies to pom file

```
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>webjars-locator</artifactId>
<version>0.30</version>
</dependency>
<!-- BOOTSTRAP DEPENDENCIES -->
<dependency>
<groupId>org.webjars</groupId>
<artifactId>bootstrap</artifactId>
<version>5.0.1</version>
</dependency>
<dependency>
<groupId>org.webjars</groupId>
<artifactId>jquery</artifactId>
<version>3.6.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-validation</artifactId>
</dependency>
<!-- Bcrypt -->
<dependency>
<groupId>org.mindrot</groupId>
<artifactId>jbcrypt</artifactId>
<version>0.4</version>
</dependency>
```
## Java Server Page folder (JSP files)
- Next create the folder for the pages
- src/main/webapp/WEB-INF

### The following gets added to all JSP files
- Create the 1st jsp file by right clicking choseing other, type jsp, then give it a name. Recommend 1st one is template.jsp
```
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<!-- for forms -->
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib prefix = "fmt" uri = "http://java.sun.com/jsp/jstl/fmt" %>
<!-- for validation -->
<%@ page isErrorPage="true" %>
<!DOCTYPE html>
<html>
<head>
<!-- Bootstrap CSS -->
<!-- <link rel="stylesheet" href="/webjars/bootstrap/css/bootstrap.min.css"> -->
<!-- CSS only -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor" crossorigin="anonymous">
<!-- My CSS -->
<link rel='stylesheet' href='/css/styles.css'>
<!-- JS for Bootstrap / jQuery -->
<script src='/webjars/jquery/jquery.min.js'></script>
<!-- <script src='/webjars/bootstrap/js/boostrap.min.js'></script> -->
<!-- JavaScript Bundle with Popper -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/js/bootstrap.bundle.min.js" integrity="sha384-pprn3073KE6tl6bjs2QrFaJGz5/SUsLqktiwsUTF55Jfv3qYSDhgCecCxMW52nD2" crossorigin="anonymous"></script>
<!-- My JS -->
<script type = "text/javascript" src='/js/scripts.js'></script>
<meta charset="UTF-8">
<title>Our Family Pets</title>
</head>
<body>
<header>
<h1>Testing</h1>
<nav>
</nav>
</header>
<main>
</main>
<footer>
</footer>
</body>
</html>
```
## Update the application.properties file
- src/main/resources/application.properties
- right after or before finishing to edit this file be sure to manually create an empty database and insert that name here
```
spring.mvc.view.prefix=/WEB-INF/
spring.datasource.url=jdbc:mysql://localhost:3306/(schema_name_here)
spring.datasource.username=root
spring.datasource.password=rootroot
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.jpa.hibernate.ddl-auto=update
spring.mvc.hiddenmethod.filter.enabled=true
```
## Static Folder
- src/main/resoures/static/css
- put styles.css in here.
- src/main/resoures/static/js
- add scripts.js
- src/main/resources/static/images
- Any images you want to have here