gradle2 API server
간단하게 더하기 하는 API 서버.
프로젝트 초기화
mkdir addserver
cd addserver
gradle init
application type
나머지는 다 default
source package: com.my.test
VC에서 "Add Folder to Workspace" 로 추가.
-------------
app/src/main/java/com/my/test/App.java 가 자동 생성됨.
필요없으니 삭제한다.
웹 프로젝트 설정
- 패키지명에 맞춰서 변경한다.
## 아래에서 ^Z전까지 복사하고, 컨트롤 Z를 수동으로 입력해 줘야 한다.
mkdir app\src\main\webapp\WEB-INF\views
copy con app\src\main\webapp\WEB-INF\web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee
http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
</web-app>
^Z
mkdir app\src\main\java\com\my\test\controller
copy con app\src\main\java\com\my\test\controller\Add.java
package com.my.test.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.*;
@WebServlet("/add")
public class Add extends HttpServlet {
@Override
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException {
process(request, response);
}
@Override
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException {
process(request, response);
}
public void process(HttpServletRequest request, HttpServletResponse response)
throws IOException,ServletException {
PrintWriter out = response.getWriter();
out.write("hello");
}
}
^Z
copy con app\src\main\webapp\WEB-INF\views\add.jsp
<html>
<body>
view page
</body>
</html>
^Z
copy con app\src\main\webapp\index.jsp
<html>
index page
<p>
context path: ${pageContext.request.contextPath}
</p>
</html>
^Z
- app/build.gradle
- contextPath를 맞게 변경한다.
plugins {
id 'war'
id 'org.gretty' version '3.0.5'
}
repositories {
// Use Maven Central for resolving dependencies.
mavenCentral()
}
dependencies {
// Use JUnit Jupiter for testing.
testImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.0'
testRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine:5.7.0'
compileOnly 'javax.servlet:javax.servlet-api:4.0.1'
compileOnly 'javax.servlet.jsp:javax.servlet.jsp-api:2.3.3'
// This dependency is used by the application.
implementation 'org.apache.logging.log4j:log4j-api:2.13.1'
implementation 'org.apache.logging.log4j:log4j-core:2.13.1'
annotationProcessor 'org.apache.logging.log4j:log4j-api:2.13.1'
annotationProcessor 'org.apache.logging.log4j:log4j-core:2.13.1'
gretty 'org.apache.tomcat:tomcat-dbcp:9.0.13'
}
gretty {
servletContainer = 'tomcat9'
httpPort=8080
contextPath = '/addserver'
enableNaming = true
}
- gitignore
- 디폴트로 .gitignore가 생기는데, 형상관리에서 제외할 것들 설정.
**/.classpath
**/.project
**/.settings
**/.factorypath
.gradle
app/tomcat.8080
app/bin
app/build
*.swp
*.sublime-project
*.sublime-workspace
- .vscode/tasks.json (task로 검색하여 생성하면 된다.)
- 쉬프트 컨트롤 P ; task 입력. Tasks: Configure default build task - addserver 라고 있는 항목 선택
- 아래 내용으로 교체.
{
"version": "2.0.0",
"tasks": [
{
"label": "Tomcat Start",
"type": "shell",
"command": "${workspaceRoot}/gradlew tomcatStart",
"problemMatcher": "$msCompile",
"group": {
"kind": "build",
"isDefault": true
}
},
{
"label": "Tomcat Debug",
"type": "shell",
"command": "${workspaceRoot}/gradlew tomcatStartDebug",
"problemMatcher": "$msCompile"
},
{
"label": "Tomcat Stop",
"type": "shell",
"command": "${workspaceRoot}/gradlew tomcatStop",
"isBackground": true,
"presentation": {
"reveal": "never"
},
"problemMatcher": []
}
]
}
RUN해서 /addserver/add 주소로 잘 되는지 확인한다.
쉬프트 알트 R - tomcatStart : addserver 를 선택.
단축키 설정은 이전편에서....
- 서버 중지는 쉬프트+알트+R 에서 tomcatStop : addserver 를 선택한다.
- 기본틀은 완성되었다. 이제 기능을 구현하자...
'Develop > Java' 카테고리의 다른 글
gradle4 API server (0) | 2021.11.13 |
---|---|
gradle3 API server (0) | 2021.11.13 |
gradle1 기초 (0) | 2021.11.13 |
이클립스 단축키 이것만. (0) | 2019.11.10 |
Short URL(단축URL) API (1) | 2019.11.07 |