(Servlet,Jsp)Servlet 복습, Jsp

지식저장공간·2022년 10월 5일
0

Java

목록 보기
4/18

Servlet복습

Servlet클래스로 사용하기 위해서는 HttpServlet클래스를 상속받아야한다.

<form method='get'> : Servlet클래스로 mapping -> doGet()메소드실행
<form method='post'> : Servlet클래스로 mapping -> doPost()메소드실행

post방식으로 전송 :
Servlet Class : HttpServletRequest.setCharacterEncoding("UTF-8");
데이터가 Header에 담기지 않고, Body에 담기기 때문에 ContentType을 인식할 수 없다. setCharacterEncoding 필요.

HttpServletResponse.setContentType("text/html; charset=UTF-8");
:html(view)화면에서 한글을 출력하기 위해 출력방식을 설정.

PrintWriter out = response.getWriter();
out.println("한글");

HttpServletRequest : 요청
HttpServletResponse : 응답

Servlet class

HttpServletRequest.getParameter("parameter") : return : String
html에서 name(parameter)에 담긴 value의 값을 추출.

HttpServletRequest.getParameterValues("parameter") :
return : String[]

parameter=1 & parameter=2 & parameter=3 한개의 parameter에 value값이 여러개일 경우 사용.

JSP(Java Server Page) : 입력데이터에 따라 결과(View)가 달라지는 동적페이지

html만을 사용할 경우 정적인페이지 데이터에 따라 값이 변화하는것이 아닌, 고정된 화면만을 출력한다.

Servlet class

HttpServletRequest.setAttribute(String name, Object o)
: Request객체에 속성값을 설정한다.
: name = key, Object = value의 역할을한다.
: 위 메소드로 생성된 Attribute들은 모두 Request객체에 담겨있다.

HttpServletRequest.getRequestDispatcher("경로/제이에스피.jsp");
: Request객체를 제이에스피.jsp에 보내기 위해 RequestDispatcher생성
: 제이에스피.jsp로 Request객체를 보내는 RequestDispatcher를 생성한다.

HttpServletRequest.getRequestDispatcher("경로/제이에스피.jsp").forward(request,response);
: 생성된 RequestDispatcher객체에 매개인자 (request,response)를 담아 JSP로 전송하기 위한 메소드

JSP
스크립틀릿 : JSP확장자 내에서 html코드 외 java코드를 작성가능하게 해준다.
<% %> : 자바코드 영역
<%= %> : 자바코드를 출력하기 위한 태그

<% HttpServletRequest.getAttribute(String name) :Servlet Class에서 Request객체에 담은 Attribute들을 JSP파일에서 Request속성값들을 얻기 위함 %>

: Servlet Class에서 value값을 Object형태로 설정 --> return : Object
Request객체에 담긴 속성(Attribute)를 얻기위한 메소드.

String str = (String)HttpServletRequest.getAttribute("key1");
String[] sArr = (String[])HttpServletRequest.getAttribute("key2");
int num = (int)HttpServletRequest.getAttribute("key3");
int[] nArr = (int[])HttpServletRequest.getAttribute("key4");
: 반환타입이 Object이기 때문에 Downcasting이 필요하다.
: 모든 Java class는 Object Class를 상속받는다.(Object class는 모든 class의 조상)

<html>
<body>
<%= str %> : Attribute에 담긴 value(Object) 출력.
</body>
</html>

profile
발전하는 개발자가 꿈입니다. 지식을 쌓고 지식을 활용해 목표 달성을 추구합니다.

0개의 댓글