본문 바로가기

개발중/JavaServer Pages (JSP)

WebServlet 시작 (필기)

728x90
반응형

[서블릿의 장점]

  • 서블릿은 Server + Applet 의 합성어

  • JSP & 서블릿 사용 ( 실무 )

  • 빠른 응답 장점

  • 자바 클래스 형태의 웹 애플리케이션을 말한다

  • javax.servlet.http 패키지에서 제공하는 HttpServlet 클래스를 상속받아 구현해야 한다.

  • JDK 에는 웹애플리케이션을 제작할 수 있는 클래스가 제공되지 않고 톰캣을 설치하고나면 웹 애플리케이션을 제작할 수 있는 클래스가 제공되는데 그 클래스가 바로 HttpServlet 이다.

 

[서블릿을 하기 위해서 꼭 필요한 문서들]

 

 

web.xml => 이 문서는 WEB-INF 아래 존재

<?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_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>Web0720</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  

 

content.xml => 이 문서는 META-INF아래 존재

<?xml version="1.0" encoding="UTF-8"?>
<Context>
   <Resource name="jdbc/snow"
			auth="Container"
			type="javax.sql.DataSource"
			username="system"
			password="1234"
			driverClassName="oracle.jdbc.OracleDriver"
			url="jdbc:oracle:thin:@127.0.0.1:1521:XE"
			maxActive="500"
			maxIdle="100" />
</Context>

 

web.xml 에는 기본적으로 이런것들이 정의되어 있다.

그래서 프로젝트 오른쪽 버튼 누르고 RUN 하면 index.jsp 가 실행이 된다. (기본값)

index 가 없다면 default가 실행이 된다.

 

web.xml 문서에 <!--8.14금--> 아래처럼 작성하게 되면 

<?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_4_0.xsd" id="WebApp_ID" version="4.0">
  <display-name>Web0720</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
  
  <!-- 8.14 금 -->
  <servlet>
     <servlet-name>photo</servlet-name>
     <servlet-class>net.tis.mvc.PhotoController</servlet-class>
  </servlet>  
  <servlet-mapping>
     <servlet-name>photo</servlet-name>
     <url-pattern>/photo.tis</url-pattern>
  </servlet-mapping>
  
</web-app>

이 부분을 대체할 수 있게 된다.

* 이 문서를 실행시키는 와중에 오류가 발생했는데

'/' 슬래시 하나로 오류가 사라졌다.

 

 

어디에서 호출 할지 모르기 때문에 doGet / postGet 에서 doUser() 를 호출해서 사용

package net.tis.mvc;

import java.io.IOException;
import java.io.PrintWriter; //추가

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


//직접매핑 @WebServlet("/photo.tis")
public class PhotoController extends HttpServlet {
	private static final long serialVersionUID = 1L;
       

	public PhotoController() {
        super();
  }//end

  public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
  	
	  System.out.println("doGet(1,2)");
	  doUser(request, response);
	}//end
	
	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
	  
		System.out.println("doPost(1,2)");
        doUser(request, response);
	} //end
	
	public void doUser(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//doGet(request, response); 아직실행안되죠 
		System.out.println("doUser(1,2)");
	  	PrintWriter out = response.getWriter() ;
	  	out.println("<h1>PhotoController.java문서 11:45 </h1>");
	  	out.print("<img src = 'images/aaa.gif'>");
	  	out.print("<img src = 'images/aaa.gif'>");
	  	out.print("<img src = 'images/aaa.gif'>");
	} //end

}//class END 

 

=> session 을 사용하려면 javax.servlet.http.HttpSession  이 필요해

 

 

728x90
반응형

'개발중 > JavaServer Pages (JSP)' 카테고리의 다른 글

파일 업로드/ 저장  (0) 2020.08.14
session  (0) 2020.08.14
자료의 이동  (0) 2020.08.13
JSP Date  (0) 2020.07.27
JSP 구구단  (0) 2020.07.27