[jsp, servlet] servlet , web.xml 파일 연결하기, @WebServlet()

seulki·2022년 10월 5일
0

jsp

목록 보기
4/51
post-thumbnail
post-custom-banner

🎈 HttpServlet 클래스 상속받기

  • 상단 service() 오버라이드 하기

  • 첫번째 HttpServletRequest arg0 는 요청을 받아오는 파라미터이고,
    두번째 HttpServletResponse arg1는 응답을 받아오는 파라미터이다.

  • 페이지에 출력하기 위해서는 PrintWriter 객체 생성하고 응답을 받아온다.



🎈 WAS에서 Servlet으로 연결하기 : web.xml

  • 사용자의 요청을 WAS에서 먼저 받고, 동적 연산이 필요한 페이지라고 판단되면 Web Container의 Servlet으로 넘겨줘야 하는데 연결고리가 필요하다.

  • web.xml파일에서는 welcome-file이 지정되어있다.
    위에서부터 아래로 순서대로 파일을 찾아가기 때문에
    보통 시작 페이지는 index.html로 설정한다.

  • web.xml 파일에서 서블릿을 등록해줘야 연결을 할 수 있다.
    서블릿 네임은 자유롭게 작성하면 되고,
    서블릿 클래스요청들어온 사이트연결 할 자바파일의 경로를 적어주면된다.

     <servlet>
      	<servlet-name>myServlet</servlet-name>
      	<servlet-class>com.koit.web.servlet.MySuble</servlet-class>
      	<!-- 요청들어온 html 파일과 연결할 java 파일의 경로를 적어주어야 한다. -->
      </servlet>
  • 연결하고자 하는 java파일의 주소를 아래의 이미지처럼 태그안에 넣어준다.


  • 다음으로는 어떤 요청이 들어왔을 때, 지금 연결한 java 서블릿 파일
    불러야 하는지를 정해줘야한다.

    	<servlet-mapping>
      		<!-- name 부분에는 넘겨받을 서블릿파일을 적어주어야 하므로
      		 위의 name과 동일하게 넣어준다. -->
      		<servlet-name>myServlet</servlet-name>
      		<url-pattern>/hello</url-pattern>
      	</servlet-mapping>
      		<!-- url 패턴의 /hello 라는 요청이 왔을 때, 자바서블릿 파일을 불러준다
      		정리: /hello라는 url 요청이 오면 myServlet라는 이름을 가진 서블릿을 호출할 것이다.
      		myServlet이라는 서블릿의 경로는 com.koit.web.servlet.MySublet 이다.
      		 -->

  • 서버 restart 후, /hello 요청을 해보면 페이지가 출력이 되는 것을 볼 수 있다.



🎈 전체 코드와 정리

<?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>test1</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.jsp</welcome-file>
    <welcome-file>default.htm</welcome-file>
  </welcome-file-list>

  <servlet>
  	<servlet-name>myServlet</servlet-name>
  	<servlet-class>com.koit.web.servlet.MySublet</servlet-class>
  	<!-- 요청들어온 html 파일과 연결할 java 파일의 경로를 적어주어야 한다. -->
	
  </servlet>

  	<servlet-mapping>
  		<!-- name 부분에는 넘겨받을 서블릿파일을 적어주어야 하므로
  		 위의 name과 동일하게 넣어준다. -->
  		<servlet-name>myServlet</servlet-name>
  		<url-pattern>/hello</url-pattern>
  	</servlet-mapping>
  		<!-- url 패턴의 /hello 라는 요청이 왔을 때, 자바서블릿 파일을 불러준다
  		정리: /hello라는 url 요청이 오면 myServlet라는 이름을 가진 서블릿을 호출할 것이다.
  		myServlet이라는 서블릿의 경로는 com.koit.web.servlet.MySublet 이다.
  		 -->
</web-app>

/hello라는 url 요청이 오면 myServlet라는 이름을 가진
서블릿을 호출할 것이다.
myServlet이라는 서블릿의 경로는 com.koit.web.servlet.MySublet 이다.

-> 하지만 이 방법은 최근에 잘 사용하지 않고, 더 간단한 방법을 사용하고 있다.

🎈 @WebServlet() 어노테이션 방법 알아보러가기!

profile
웹 개발자 공부 중
post-custom-banner

0개의 댓글