<servlet>
요소로 서블릿 클래스 등록하기<servlet
은 웹 애플리케이션에서 사용될 기본 서블릿 객체와 매개변수를 설정하는 요소이다.매개변수 부분 (<init-param></init-param>
)은 생략 가능
<servlet>
<servlet-name> 서블릿 이름 </servlet-name>
<servlet-class>서블릿 클래스(패키지 이름.클래스 =>사용할 자바 파일 명)</servlet-class>
<init-param>
<param-name> 매개변수 이름 </param-name>
<param-value> 매개변수 값 </param-value>
</init-param>
</servlet>
<servlet-mapping>
요소로 URL 패턴 설정하기<servlet-mapping>
<servlet-name> 서블릿 이름 </servlet-name>
<url-pattern> 요청할 URL 패턴 </url-pattern>
</servlet-mapping>
-> 이때 요청할 URL 패턴에서
"http://localhost:9001/JSPBook/index.jsp 를 하고 싶다면 실제로 작성할 모습은
"http://localhost:9001/JSPBook" 부분은 생략하고 "/"만 쓴다.
그렇게만 해도 /JSPBook의 모든 하위 경로를 서블릿 클래스로 처리할 수 있기 때문이다.
<servlet>
<servlet-name> myController </servlet-name>
<servlet-class>Ch18.com.controller.ControllerServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name> myController </servlet-name>
<url-pattern> /Ch18/ControllerServlet </url-pattern>
</servlet-mapping>
package Ch18.com.model;
public class LoginBean {
private String id;
private String password;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public boolean validate() {
if (id.equals("admin") && password.equals("1234")) {
return true;
} else {
return false;
}
}
}
package Ch18.com.controller;
import java.io.IOException;
import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import Ch18.com.model.LoginBean;
public class ControllerServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html); charset=utf-8" );
String id = request.getParameter("id");
String password = request.getParameter("passwd");
LoginBean bean = new LoginBean();
bean.setId(id);
bean.setPassword(password);
request.setAttribute("bean", bean);
boolean status = bean.validate();
if (status) {
RequestDispatcher rd = request.getRequestDispatcher("mvc_success.jsp");
rd.forward(request, response);
} else {
RequestDispatcher rd = request.getRequestDispatcher("mvc_error.jsp");
rd.forward(request, response);
}
}
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doPost(req, resp);
}
}
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<<html>
<head>
<title>뷰 부분</title>
</head>
<body>
<form action="ControllerServlet" method="post">
<p> 아이디 : <input type="text" name="id">
<p> 비밀번호 : <input type="password" name="passwd">
<p> <input type="submit" value="전송">
</form>
</body>
</html>
<%@page import="Ch18.com.model.LoginBean"%>
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<p> 로그인 성공했습니다
<p>
<%
LoginBean bean = (LoginBean) request.getAttribute("bean");
out.print("아이디 : " + bean.getId() + "<br>");
out.print("비밀번호 : " + bean.getPassword());
%>
</body>
</html>
<%@page import="Ch18.com.model.LoginBean"%>
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
</head>
<body>
<p> 아이디와 비밀번호를 확인해주세요
<%@ include file="mvc.jsp" %>
</body>
</html>
뷰에서 실행
설정하지 않은 값 전송 시결과는 아래와 같다
설정한 값을 전송 시
![]()
이걸 이용해 게시판을 사용한다는 데 역시 좀 더 공부해야겠다.
웹 프로젝트 내보내기 : export
웹 프로젝트 가져오기 : import
파일 형식 : war
자바 프로젝트 내보내기 : export
자바 프로젝트 가져오기 : import
파일 형식 : jar
사용자가 만든 자바 파일을 라이브러리로 등록하고 싶다
= jar로 만들어서 배포하고 싶다