메이븐 Archetype 사용안함
workspace 에 DB와 front-End 모두 들어갈 예정
D 드라이브에 경로 만들어주기
gradle 버전 6 과 8 버전의 차이가 있음으로 주의할 것 !
jdk 버전 17로 없다면 JDK 선택란에서 다운 받을 수 있다.
(아마존 17버전으로)
생성 클릭
다이나믹 프로젝트와 같은 환경을 만드려면 웹 디렉토리를 만들어줘야함
webapp안에 WEB-INF 디렉토리 생성(위 방식대로)
web.xml : 웹의 배치 안내도 같은 개념. 보안상 WEB-INF의 내부에 생성해준다.
id 'java' => 'war' 로 변경
컴파일 온리는 컴파일할때만 필요함
bulid.gradle의 내용에 복붙
디펜더시 > 코끼리 모양 클릭 (새로고침) > 추가확인
클라이언트가 jsp로 바로 접근을 막기 위해(MVC패턴) WEB-INF 내 컨트롤러로 접근이 가능하게 해야함.
단 테스트 단계임으로 webapp에 생성하려고 함.
webapp에 오른쪽 마우스 > new > 파일 > index.jsp 생성
<%@ page contentType="text/html;charset=UTF-8"
language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<%
int sum = 0;
for(int i = 1; i <= 10; i++){
sum += i;
}
%>
<%=sum%>
</body>
</html>
// JSTL
implementation 'javax.servlet:jstl:1.2'
@WebServlet("/hello")
WEB-INF 오른쪽 마우스 > new > file > web.xml 생성
해당 내용 web.xml에 붙여넣기 하기
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>org.example.controller.HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>
</web-app>
package org.example.entity;
import java.util.Date;
public class Board {
private int Long; // 1 2 3 4 5 (자동증가)
private String title; // 제목
private String content; // 내용
private String writer; // 이름, 아이디, 비번
private int cnt; // 조회수
private Date indate; // 작성일
// setter, getter, 생성자, toString
// Lombok API
}
// lombok
compileOnly 'org.projectlombok:lombok:1.18.24'
annotationProcessor 'org.projectlombok:lombok:1.18.24'