요구) 원래 member.do로 받았는데 이번에는 *.do로 하나의 서블릿에서 받고 싶음. member.do면 MemberController, book.do면 BookController 클래스를 사용하고 method가 create면 거기 있는 create메소드를 사용하고 싶음.
Servlet.java
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class Servlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public Servlet() {
super();
// TODO Auto-generated constructor stub
}
public void create(){
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset = euc-kr");// TODO Auto-generated method stub
PrintWriter out = response.getWriter();
String method = request.getParameter("method");
String check = request.getRequestURI();
if(check.equals("/sservlet/member.do")){
MemberController mc = new MemberController();
}
else{
BookController bc = new BookController();
}
if(method.equals("create")){
create();
out.println("create method");
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
}
}
web.xml
<servlet>
<description></description>
<display-name>DispatchServlet</display-name>
<servlet-name>DispatchServlet</servlet-name>
<servlet-class>com.dispatcher.DispatchServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>DispatchServlet</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<해결 1,2> 코드를 처음부터 다시 짰음. request.getRequestURI 와request.getParameter를 써서 해결.
url-pattern으로 초기 url로 진입할수 있는 값을 정할수 있다는것을 배웠음.
*.do는 와일드 카드로 *대신 무엇이 들어와도 저렇게 받겟다는것을 뜻함.
* jsp책을 보면 내용은 아는데, 정작 어디에 써야하는지 몰랐음.
지금 보니 쓸데 없는 주석이 많아 가독성이 떨어짐.
선언한 클래스는 내용이 없어서 생략.
'개발' 카테고리의 다른 글
서블릿으로 Dispatchservlet 역할 구현하기-4(reflection) (0) | 2016.07.04 |
---|---|
서블릿으로 Dispatchservlet 역할 구현하기-3 (reflection, method, invoke) (0) | 2016.07.04 |
서블릿으로 Dispatchservlet 역할 구현하기-1 (0) | 2016.07.01 |
Http 기본 메소드 제한 (0) | 2016.07.01 |
웹페이지 한글 출력,servlet 한글 출력,물음표 표시 해결, 웹 브라우져에 따른 파라미터 처리,오라클 케릭터셋-2 (0) | 2015.05.10 |