Maven Web Project 만들기
소개
테스트용 Web Project를 만들고, 끝나면 삭제한다면 Maven일 필요도 없습니다만, 잠시 사용하는 것을 고려해 Maven을 사용할 수 있도록 합니다.
Eclipse Plugin 준비
New > Other > Maven > Maven Project에서 메뉴를 찾을 수 없으면 플러그인이 부족하기 때문에 Install합니다.
Help > Install New Software에서 다음과 같이 선택하여 배포합니다.
Maven Project 만들기
New > Other > Maven > Maven Project에서 메뉴를 찾을 수 없으면 플러그인이 부족하기 때문에 Install합니다.
Help > Install New Software에서 다음과 같이 선택하여 배포합니다.
Maven Project 만들기
GropuId : qiita.keniooi//여기 페이지 용이라는 의미에서,
ArtifactId : sampleWeb//프로젝트 이름으로,
버전 : 기본
Package : sample.web
Finish를 누르면 완성됩니다.
pom.xml 편집
필요한 라이브러리를 pom.xml에 작성하여 사용할 수 있도록 합니다. 여기 JSON 라이브러리를 추가합니다.
JSON In Java
이 사이트에서 20180130을 클릭하여 다음 부분에서 복사합니다.
복사한 텍스트를 sampleWeb 프로젝트에 있는 pom.xml을 열어 dependencies 태그 안에 추가합니다.
pom.xml...
<dependencies>
<dependency>
<groupId>net.wasdev.maven.tools.targets</groupId>
<artifactId>liberty-target</artifactId>
<version>RELEASE</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
</dependencies>
...
이 설정을 사용하면 Maven Dependencies에 추가되었는지 확인할 수 있습니다.
서블릿 만들기
JSON을 POST로 받아 처리하는 서블릿을 작성해 나갈 예정입니다만, 여기서는 서블릿 중에서 String을 JSONArray, JSONObject로 처리하는 서블릿을 만들어 보겠습니다. doPost()에 쓰기 때문에 테스트용 doGet()는 그대로 doPost()를 호출하고 있습니다.
TestServlet.java@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public TestServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json;charset=UTF-8");
String json = "[{\"name\":\"Satoh Taro\",\"id\":\"123\",\"mail\":\"[email protected]\"},"
+ "{\"name\":\"Suzuki Hana\",\"id\":\"124\",\"mail\":\"[email protected]\"}]";
JSONArray ja = new JSONArray(json);
ArrayList<Person> list = new ArrayList<Person>();
for(Object o : ja) {
JSONObject jo =(JSONObject) o;
Person p = new Person();
p.setName(jo.getString("name"));
p.setId(jo.getString("id"));
p.setMail(jo.getString("mail"));
list.add(p);
System.out.println(p.getId() + "," + p.getName() + "," + p.getMail());
}
response.getWriter().println(json);
}
}
class Person {
String name;
String id;
String mail;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
}
이 서블릿에 Firefox로 액세스하면 다음과 같습니다.
Liberty의 로그에는
stdout123,Satoh Taro,[email protected]
124,Suzuki Hana,[email protected]
로 출력됩니다.
참고
Eclipse+Maven이라는 편리한 개발 환경을 설치부터 프로젝트 작성까지
【Java】JSON 데이터를 표준 API, Jackson, JSON in Java로 취급하는 방법
Reference
이 문제에 관하여(Maven Web Project 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keniooi/items/d59b4dc8a0e472aef968
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
...
<dependencies>
<dependency>
<groupId>net.wasdev.maven.tools.targets</groupId>
<artifactId>liberty-target</artifactId>
<version>RELEASE</version>
<type>pom</type>
<scope>provided</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/org.json/json -->
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20180130</version>
</dependency>
</dependencies>
...
JSON을 POST로 받아 처리하는 서블릿을 작성해 나갈 예정입니다만, 여기서는 서블릿 중에서 String을 JSONArray, JSONObject로 처리하는 서블릿을 만들어 보겠습니다. doPost()에 쓰기 때문에 테스트용 doGet()는 그대로 doPost()를 호출하고 있습니다.
TestServlet.java
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public TestServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
}
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("application/json;charset=UTF-8");
String json = "[{\"name\":\"Satoh Taro\",\"id\":\"123\",\"mail\":\"[email protected]\"},"
+ "{\"name\":\"Suzuki Hana\",\"id\":\"124\",\"mail\":\"[email protected]\"}]";
JSONArray ja = new JSONArray(json);
ArrayList<Person> list = new ArrayList<Person>();
for(Object o : ja) {
JSONObject jo =(JSONObject) o;
Person p = new Person();
p.setName(jo.getString("name"));
p.setId(jo.getString("id"));
p.setMail(jo.getString("mail"));
list.add(p);
System.out.println(p.getId() + "," + p.getName() + "," + p.getMail());
}
response.getWriter().println(json);
}
}
class Person {
String name;
String id;
String mail;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getMail() {
return mail;
}
public void setMail(String mail) {
this.mail = mail;
}
}
이 서블릿에 Firefox로 액세스하면 다음과 같습니다.
Liberty의 로그에는
stdout
123,Satoh Taro,[email protected]
124,Suzuki Hana,[email protected]
로 출력됩니다.
참고
Eclipse+Maven이라는 편리한 개발 환경을 설치부터 프로젝트 작성까지
【Java】JSON 데이터를 표준 API, Jackson, JSON in Java로 취급하는 방법
Reference
이 문제에 관하여(Maven Web Project 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/keniooi/items/d59b4dc8a0e472aef968
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Maven Web Project 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/keniooi/items/d59b4dc8a0e472aef968텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)