반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 유효성검사
- 스타일 시트
- 변수
- 별찍기
- 테이블 생성
- 카카오 로그인
- 연산자 우선순위
- API
- restAPI
- 다음주소API
- 로그인
- 변경
- 크기조정
- 회원가입페이지
- span width 설정
- openChallenge
- 인스턴스
- 로그아웃
- 주소
- id 개별 부여
- 반복문
- textarea
- rest api
- 조건문
- 42000
- 카카오로그인
- jsp
- 없애기
- 자바
- 셀렉터
Archives
- Today
- Total
뚜벅이 한걸음
JSP 홈페이지 만들기 -회원가입페이지 - Controller 만들기 본문
반응형
이전 포스팅에서 html로 회원가입 페이지를 만들고, 회원가입 버튼을 누르면 form 객체의 값들을 가상 주소로 넘겨주는 것까지 진행했었다.
1. Controller 만들기
이번 포스팅에서는 가상주소를 처리할 것이다.
jspstudy 프로젝트에서 controller 폴더를 만들고 FrontController와 MemberContoller를 서블릿으로 만들어준다.
BoardController도 이후에 사용할거라 일단 만들어 두었다.
FrontController를 만들었다.
처음 서블릿클래스를 만들면 이렇게 기본적으로 HttpServlet을 상속한 클래스가 만들어진다.
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
|
package jspstudy.controller;
import java.io.IOException;
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("/FrontController")
public class FrontController extends HttpServlet {
private static final long serialVersionUID = 1L;
public FrontController() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.getWriter().append("Served at: ").append(request.getContextPath());
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
|
cs |
WEB-INF폴더아래 web.xml에 들어가서 가상주소로 들어오는 것들을 처리할 수있도록 맵핑해줄것이다.
1
2
3
4
5
6
7
8
9
10
|
<servlet> <!-- 프론트 컨트롤러에서 웹서블릿을 *.do로 등록하는 것이 아니라 여기서 기능구현-->
<servlet-name>FrontController</servlet-name>
<servlet-class>jspstudy.controller.FrontController</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>FrontController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
|
cs |
이렇게 적어주면 pattern이 *.do 를 처리한다.
다시말해 확장자가 .do로 오는것은 모두 FrontController에서 처리한다.
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
|
package jspstudy.controller;
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("/FrontController") //wep.xmld 페이지에 *.do 확장자를 쓰면 자동으로 FrontController 로 넘어 오게 기능을 구현해놓았음
public class FrontController extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// HttpServeletRequest : Header정보, Parameter, Cookie, URI, URL 등의 정보를 읽어들이는 메소드를 가진 클래스. Body의 Stream을 읽어들이는 메소드를 가지고 있음
//URI(Uniform Resource Identifier) : 파일의 위치를 알 수 있는 식별자 //URL(Uniform Resource Locator) : 실제 파일의 위치
String uri = request.getRequestURI();
String pj =request.getContextPath();
//전체경로에서 프로젝트 이름을 뺀 나머지 가상경로 추출
String command = uri.substring(pj.length());
///member/memberList.do
//"/" 를 구분자로 사용 .구분자의 앞에 있는 문자열을 추출한다.
String[] subpath = command.split("/");
String location =subpath[1]; //두번째 문자열 추출 예) member
//가상주소의 두번째 / 앞이 member면 MemberController의 doGet 메서드가 실행되고 board면 BorderController가 실행이된다.
if(location.equals("member")) {
MemberController mc = new MemberController();
mc.doGet(request, response);
}else if(location.equals("board")) {
BoardController bc = new BoardController();
bc.doGet(request, response);
}
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
|
cs |
반응형
'JSP' 카테고리의 다른 글
<c:foreach>에서의 varStatus 속성 (0) | 2022.08.06 |
---|---|
로그인하면 로그아웃으로 변경 JSP (0) | 2022.07.12 |
JSP 홈페이지 만들기 - 회원가입 페이지 만들기 (0) | 2022.05.06 |