CAFE

함께풀어보기

Re: ReDirect에서 ServletContext로 Scope 연결 해보기_조병찬,오진석

작성자오진석|작성시간26.06.17|조회수5 목록 댓글 0

//FirstServlet.java

package ex2;

 

import java.io.IOException;

 

import jakarta.servlet.ServletContext;

import jakarta.servlet.ServletException;

import jakarta.servlet.annotation.WebServlet;

import jakarta.servlet.http.HttpServlet;

import jakarta.servlet.http.HttpServletRequest;

import jakarta.servlet.http.HttpServletResponse;

//이동방식, forward, redirect : 주체객체는 -request, response객체

@WebServlet("/first")

public class FirstServlet extends HttpServlet{

 

private ServletContext ctx;

 

//생성을 하고

@Override

public void init() throws ServletException {

ctx = getServletContext();

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

System.out.println("FirstServlet 실행 됨");

//페이지 이동 : redirect

//실험 1) request일때 request A와 B간의 forward 이동방식일 때 scope의 값이 유지된다.

// req.setAttribute("msg", "테스트1");

 

 

ctx.setAttribute("mymsg", "abc");

// ctx.getAttribute("mymsg"); /* => second에서 불러서 출력해보기 */

// String mymsg = ctx.getInitParameter("mymsg");

 

resp.sendRedirect("second");

}

}

//SecondServlet.java

 

 

package ex2;

 

import java.io.IOException;

import java.io.PrintWriter;

 

import jakarta.servlet.ServletContext;

import jakarta.servlet.ServletException;

import jakarta.servlet.annotation.WebServlet;

import jakarta.servlet.http.HttpServlet;

import jakarta.servlet.http.HttpServletRequest;

import jakarta.servlet.http.HttpServletResponse;

@WebServlet("/second")

public class SecondServlet extends HttpServlet{

String msg1;

String mymsg1;

private ServletContext ctx;

@Override

public void init() throws ServletException {

ctx = getServletContext();

}

@Override

protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

//req.setAttribute("key","value"); => req.getAttribute("key")

resp.setCharacterEncoding("utf-8");

resp.setContentType("text/html;charset=utf-8");

// msg1=req.getParameter("msg1");

// mymsg1=req.getParameter("mymsg1");

 

// System.out.println("여기는 SecondServlet");

 

PrintWriter out = resp.getWriter();

out.println("<ul>");

out.println("<li>"+ ctx.getAttribute("mymsg")+"</li>");//redirect에서는 새로운 req,resp가 생성되므로 msg가 null이 된다

out.println("</ul>");

}

}

다음검색
현재 게시글 추가 기능 열기

댓글

댓글 리스트
맨위로

카페 검색

카페 검색어 입력폼