EASY7

jsp가 java파일과 class로 변한 것 확인하기 본문

개발 공부/JSP

jsp가 java파일과 class로 변한 것 확인하기

E.asiest 2016. 12. 10. 00:46

WorkSpace 폴더에서 시작

 

c:\dec\workspace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\프로젝트이름\org\apache\jsp\폴더이름

 

정말 꽁꽁 잘 숨겨두셨네 ㅎㅎ

 

jsp는 java server page의 약자로 자바 기반으로 만들어진 웹 프로그래밍 기술이다.

서블릿에 기반하고 있어 jsp가 서블릿 형태로 변환된다.

즉, 스크립트릿같은 것도 포함하므로 java와 class로 변환해야한다.

한번 컴파일된 jsp는 소스 수정 전까지 다시 컴파일되지 않고 메모리상에 적재된 서블릿으로 처리된다.

jsp소스는 class파일의 _jspService()메소드에 들어가간다.

 

 

 public void _jspService(final javax.servlet.http.HttpServletRequest request, final javax.servlet.http.HttpServletResponse response)
        throws java.io.IOException, javax.servlet.ServletException {

final java.lang.String _jspx_method = request.getMethod();
if (!"GET".equals(_jspx_method) && !"POST".equals(_jspx_method) && !"HEAD".equals(_jspx_method) && !javax.servlet.DispatcherType.ERROR.equals(request.getDispatcherType())) {
response.sendError(HttpServletResponse.SC_METHOD_NOT_ALLOWED, "JSPs only permit GET POST or HEAD");
return;
}

    final javax.servlet.jsp.PageContext pageContext;
    javax.servlet.http.HttpSession session = null;
    final javax.servlet.ServletContext application;
    final javax.servlet.ServletConfig config;
    javax.servlet.jsp.JspWriter out = null;
    final java.lang.Object page = this;
    javax.servlet.jsp.JspWriter _jspx_out = null;
    javax.servlet.jsp.PageContext _jspx_page_context = null;


    try {
      response.setContentType("text/html; charset=utf-8");
      pageContext = _jspxFactory.getPageContext(this, request, response,
         null, true, 8192, true);
      _jspx_page_context = pageContext;
      application = pageContext.getServletContext();
      config = pageContext.getServletConfig();
      session = pageContext.getSession();
      out = pageContext.getOut();
      _jspx_out = out;

      out.write('\r');
      out.write('\n');
 int result=0;
if(request.getMethod().equals("POST")){
 result=0;
 String op=request.getParameter("operator");
 int num1= Integer.parseInt(request.getParameter("num1"));
 int num2= Integer.parseInt(request.getParameter("num2"));
 
 if(op.equals("+")){
  result=num1+num2;
  
 }
 else if(op.equals("-")){
  result=num1-num2;
  
 }
 else if(op.equals("*")){
  result=num1*num2;
  
 }
 else if(op.equals("/")){
  result=num1/num2;
  
 }
 

}
      out.write("\r\n");
      out.write("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\" \"http://www.w3.org/TR/html4/loose.dtd\">\r\n");
      out.write("<html>\r\n");
      out.write("<head>\r\n");
      out.write("<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\r\n");
      out.write("<title>Insert title here</title>\r\n");
      out.write("</head>\r\n");
      out.write("<body>\r\n");
      out.write("계산기\r\n");
      out.write("<form name=form1 method=post>\r\n");
      out.write("<input type=\"text\" name=\"num1\" width=200 size=\"5\">\r\n");
      out.write("<select name=\"operator\">\r\n");
      out.write("\t<option selected>+</option>\r\n");
      out.write("\t<option >-</option>\r\n");
      out.write("\t<option >*</option>\r\n");
      out.write("\t<option >/</option>\r\n");
      out.write("\t\r\n");
      out.write("</select>\r\n");
      out.write("<input type=\"text\" name=\"num2\" width=200 size=\"5\">\r\n");
      out.write("\r\n");
      out.write("<input type=\"submit\" value=\"계산\" >\r\n");
      out.write("<input type=\"reset\" value=\"다시입력\" >\r\n");
      out.write("</form>\r\n");
      out.print( result );
      out.write("\r\n");
      out.write("</body>\r\n");
      out.write("</html>");
    } catch (java.lang.Throwable t) {
      if (!(t instanceof javax.servlet.jsp.SkipPageException)){
        out = _jspx_out;
        if (out != null && out.getBufferSize() != 0)
          try {
            if (response.isCommitted()) {
              out.flush();
            } else {
              out.clearBuffer();
            }
          } catch (java.io.IOException e) {}
        if (_jspx_page_context != null) _jspx_page_context.handlePageException(t);
        else throw new ServletException(t);
      }
    } finally {
      _jspxFactory.releasePageContext(_jspx_page_context);
    }
  }
}

 

 

 

Comments