서블릿 활용
Superclass : javax.servlet.http.HttpServlet
서블릿 클래스를 상속받아야만 서블릿클래스
HelloWorld.java
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | package control; import java.io.IOException; import javax.servlet.RequestDispatcher; 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("/HelloWorld") //URL과 서블릿 맵핑하는 어노테이션 //아래에 있는 서블릿 클래스을 web.xml에 자동으로 맵핑해주는 어노테이션 @WebServlet //서블릿 클래스와 이름 일치시키지 않으면 //서버를 실행했을때 브라우저에 보이는 url을 설정해준다. //HelloWorld 서블릿클래스를 실행하면 url은 http:// ~ /HelloWorld인데 //@WebSetvlet 어노테이션에 /Hello로 설정해놓으면 url을 /Hello로 바꿔야 아래 서블릿 클래스가 실행된다. //@WebServlet("/HelloWorld") = 아래 서블릿 클래스가 실행될 페이지의 url설정하는 어노테이션 public class HelloWorld extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { reqPro(request, response); } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { reqPro(request, response); } //get, post 일괄 처리하는 메서드 public void reqPro(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { //화면에 HelloWorld 출력 : jsp쪽으로 넘겨질 데이터 설정 String msg = "Hello Wolrld 안녕하세요"; //jsp쪽으로 데이터를 보낼때 request객체에 넣어야 보낼수 있다. request.setAttribute("msg", msg); //서블릿에서 jsp를 호출하면서 데이터를 같이 넘겨주는 객체를 선언 //매개값으로 JSP파일명을 기술 RequestDispatcher rd = request.getRequestDispatcher("HelloWorld.jsp"); //데이터를 넘겨주는 객체의 forward 메서드를 통해 요청과 응답을 보낸다. //매개값으로는 request와 response만 줄 수 있다. rd.forward(request, response); //jsp로 보낼 데이터를 request객체에 넣고 (request의 setAttribute로 이름과 값을 넣는다.) //request객체의 메서드로 데이터를 넘겨주는 객체인 dispatcher 객체를 생성한 후에 //dispatcher객체의 forward 메서드로 request와 response를 jsp로 넘겨준다. //넘어간 데이터는 EL문으로 표현할 수 있다. //따로 받아오는 작업을 거칠 필요가 없이 EL 블럭 안에서 바로 msg를 쓸 수 있다. // ${msg} ${msg} = <% (String msg = request.getParameter("msg"); out.println(msg); %> <%=msg%> ) } } |
HelloWorld.jsp
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <body> <div style="text-align: center"> <h2> 결과 보기 </h2> ${msg } <p> </div> </body> </html> | cs |
'JSP > JSP & Servlet ' 카테고리의 다른 글
MVC 파라미터 - 회원가입 (0) | 2019.05.22 |
---|---|
서블릿 활용 2 - 파라미터 사용 (0) | 2019.05.22 |
서블릿의 이해 (0) | 2019.05.22 |
JSTL (Java Standard Tag Library)- 2 (0) | 2019.05.21 |
JSTL (Java Standard Tag Library)- 1 (0) | 2019.05.21 |