Study/Google App Engin(GAE)

Java Servlet 로 Google App Engine webserver 만들기

Answer Choi 2015. 2. 12. 11:15
반응형



 

 

test page






이번 포스팅은 Java servlet을 이용해서 google app engine에 서버를 만드는 것입니다.


Java servlet은 서버사이드 클래스인데요.


Java servlet을 쓰면 쉽게(?) 구현할 수 있습니다.


java에서 html언어를 바로 쓸 수 있기 때문이죠.


하지만 너무나 귀찮은 관계로 라인수가 길어지면 JSP를 쓰는 것이 편합니다.


JSP는 다음 포스팅에서~


우선 google app engine 용 프로젝트를 하나 만듭니다.



만들면서 sample code는 체크하지 않습니다.^^


그리고 자바파일을 만들어야 하는데 


저는 3개를 만들었습니다.


main, num1, num2


두번째로 코딩작업인데요.


보시면 아주 간단합니다.



 main.java


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
@SuppressWarnings("serial")
public class main extends HttpServlet{
 
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp)
            throws ServletException, IOException {
        // TODO Auto-generated method stub
        //super.doGet(req, resp);
        resp.setContentType("text/html; charset=UTF-8");
        PrintWriter show=resp.getWriter();
       
        show.println("메인 페이지 입니다. </BR>");
        show.println("당신의 IP는 "+req.getRemoteAddr()+" 입니다.  </BR>");
       
       
        show.println("1번으로 가실려면 <a href=/num1>이곳</a>을 눌러주세요.</BR>");
        show.println("2번으로 가실려면 <a href=/num2>이곳</a>을 눌러주세요.</BR>");
    }
   
 
}
cs


Line 2 : 이게 자바 서블릿 클래스이구요.


Line 9 : 이건 한글지원하도록~


Line 10~17 : 자 이부분이 웹브라우저에 띄우는 코드인데요. 중간 중간에 html코드가 보이시죠?


이렇게 간단하게 쓸 수 있습니다.


이런식으로 num1, num2도 만들었습니다.



세번째로 매핑인데요.


Java Servlet 으로 만든 java 파일들을 실제 사용할 주소랑 매핑을 해줘야 합니다.


매핑은 아래그림의 web.xml파일에서 합니다.



web.xml


1
2
3
4
5
6
7
8
9
 <servlet>
        <servlet-name>main</servlet-name>
        <servlet-class>com.answerofgod.test.main</servlet-class>
       
    </servlet>
    <servlet-mapping>
        <servlet-name>main</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
cs


Line 1~5 : 이부분은 servlet 을 정의 하는 부분. 위에는 서블릿 이름이고, 아래는 서블릿이 있는 클래스


Line 6~9 : 여기가 매핑하는 곳인데요. 위가 이름 윗줄과 같은이름을 찾으면 됩니다. 아래는 url 주소입니다.



마지막으로 매핑이 끝났으면 google app engine에 deploy~




웹브라우저로 접속을 해보면~



MAIN

 

 

NUM1

 

 

NUM2

 

반응형