JSP
Servelet 이란?
ㄴ Servelet 을 쓰기 위해서는 web.xml 에 등록 필요
ㄴ 톰캣은 실행하면 web.xml 부터 읽는다.
서블릿을 사용하기 위해서는 반드시 HttpServlet 클래스를 extends 해줘야 하며
아래와 같이 서블릿 매핑을 사용해줘야 보안에 강하다
.. 쉽게말해서 어디에 파일이 있는지 보여주지 않고 별명으로 표시함
../WEB-INF/web.xml
<servlet>
<servlet-name>ServletTestName</servlet-name>
<servlet-class>ServletTest</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>ServletTestName</servlet-name>
<url-pattern>/test</url-pattern>
</servlet-mapping>
[서블릿 매핑과 관련된 자세한 내용 : JSP, Servlet(서블릿)의 URL 주소 매핑 (tistory.com) ]
요약하자면
1. web.xml 에서 위와같은 코드로 서블릿 매핑할 수 있다.
2. 하나의 서블릿에 여러 url 을 매핑할 수도 있다.
3. web.xml 없이도 @WebServlet 을 이용해서 url 매핑이 가능하고, 여러개를 사용하고자 한다면
@WebServlet(urlPatterns = {"/main", "/test", "/join"})
public class Controller extends HttpServlet {
3. 프로젝트명이 보이지 않게 하고 싶다면 server.xml 에서 Context 의 Path 를 "/" 로 바꿔주렴
4. .jsp 파일 url 로 실행이 되고 화면이 보이는 건 web.xml 에서 아래처럼 서블릿 매핑이 자동으로 되어있어서임
5. 서블릿도 url 매핑을 할 수 있음 아래처럼 하면 돼
(다른점은 servlet-class 가 아니라 jsp-file 태그임!!! 위의 코드랑 비교해보셈 )
<servlet>
<servlet-name>home-jsp</servlet-name>
<jsp-file>/home.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>home-jsp</servlet-name>
<url-pattern>/home</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>home2-jsp</servlet-name>
<jsp-file>/newfolder/home2.jsp</jsp-file>
</servlet>
<servlet-mapping>
<servlet-name>home2-jsp</servlet-name>
<url-pattern>/home2</url-pattern>
</servlet-mapping>
서블렛이란? 브라우저가 인식할 수 있는 HTML 코드로 응답해주는 클래스
=> 자바 파일 안에 HTML 을 넣어서 사용함
... GET 방식 : URL 에 데이터 값을 넣어서 전달한다
= 페이지링크 ./.. jsp ?변수명=값&변수명=값
이런식으로 url 에 데이터를 담아서 그대로 전송함
.. 보내는 값들은 param 즉 파라미터로 전달되고
받는 페이지에서 request.getParameter() 로 받아서 사용할 수 있다. --
--
1. getParameter
getParameter는 웹에서 전송받은 request값을 읽어오는, 말그대로 html의 데이터를 추출하는데에만 사용됩니다.
getParameter의 타입은 String입니다.
2. getAttribute
getAttribute는 타입이 Object입니다. 그래서 모든 객체를 담을 수 있고, 클래스 객체를 받을 수 있습니다.
또한 getAttribute를 사용하여 session변수를 검색 할 수있습니다.
하지만 setAttribute를 통해 값을 설정해주지 않으면 null값을 돌려받습니다.
jsp 에서 값을 넘길떄는 id 타입이 아닌 name 타입으로만 해야 파라미터 값이 넘어간다.
---
1. include 액션
include 지시어와는 다름
--- include 지시어는 현재 jsp 파일에 다른 jsp 나 html 문서를 그냥 포함시킬 수 있다.
--- 이를통해 페이지의 헤더나 푸터를 설정해줄 수 있음
include 액션은 다른 페이지를 imoport 하는 것으로, 실행 시점에 해당 파일을 호출하고 결과를 포함시킨다
즉 파라미터= 변수값을 전달할 수 있다,.
2. forward 액션
include 액션과 유사하지만 현재 페이지의 제어권을 완전히 다른 페이지로 전달한다.
즉 a 라는 페이지에서 b 를 forward 액션으로 호출할 경우
url 은 a를 나타내나 보이는 화면은 b 를 나타낸다
-- 하지만 url 은 a를 나타내기 때문에 a에서 사용하던 변수를 그대로 사용할 수 있다.
'강의정리들 > [2023] FullStack' 카테고리의 다른 글
[JSP] #DB설정#커넥션풀#설정방법#오라클#psql#jsp (0) | 2023.02.07 |
---|---|
[JSP] #MVC# MVC패턴2#?#JSP#확장자패턴 (0) | 2023.02.07 |
*0206 (0) | 2023.02.06 |
*230203_jsp (0) | 2023.02.03 |
*230202-JSP (0) | 2023.02.02 |