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 |