프로젝트 생성

ContextPath 설정


Dispatcher
package org.example.demo2;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
// 라우팅
public class Dispatcher {
public static void route(String cmd, String action, HttpServletResponse resp) throws IOException {
if(cmd.equals("user")){
UserController con = new UserController();
if(action.equals("login")){
String html = con.login();
resp.getWriter().println(html);
}else if(action.equals("join")){
String html = con.join();
resp.getWriter().println(html);
}
}else if(cmd.equals("board")){
resp.getWriter().println("<h1>board</h1>");
}
}
}
FrontController
package org.example.demo2;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet("/*")
public class FrontController extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setHeader("Content-Type", "text/html; charset=utf-8");
String cmd = req.getParameter("cmd");
String action = req.getParameter("action");
Dispatcher.route(cmd, action, resp);
}
}
UserController
package org.example.demo2;
public class UserController {
public String login(){
return "<h1>login</h1>";
}
public String join(){
return "<h1>join</h1>";
}
}
→ 일반적으로 쿼리 스트링으로 사용하면 255자까지 밖에 못적기 때문에 데이터를 주소로 보내지는 않음.

Share article