Servlet - 3
- 경로를 항상 주의하자
- http://127.0.0.1:8080/login/login.html
- http://127.0.0.1:8080/login/
- http://127.0.0.1:8080/login/param.view
- 추천 : <form method="post" action="/param.view"> action에는 반상대경로이다.
- http://127.0.0.1:8080/login/login.html
- http://127.0.0.1:8080/ webapp부터 따지는 곳부터 시작
- http://127.0.0.1:8080/param.view
- Java EE 를 위한 Eclipse 설정
=======================
login.html
=======================
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<h1>로그인</h1>
<form method="post" action="/param.view">
아이디 <input type="TEXT" name="userId"/><br/>
비밀번호<input type="PASSWORD" name="password"/><br/>
취미 <input type="checkbox" name="hobby" value="영화보기">영화보기
<input type="checkbox" name="hobby" value="책읽기">책읽기
<input type="checkbox" name="hobby" value="게임">게임<br/>
<input type="SUBMIT" value="로그인" />
<input type="RESET" value="취소" />
</form>
</BODY>
</HTML>
=======================
ParamServlet.html
=======================
package net.cjedu.login;
import javax.servlet.http.*;
import javax.servlet.*;
import java.io.*;
import java.util.*;
public class ParamServlet extends HttpServlet{
protected void doPost(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {
//넘어오는 파라미터값에 대한 문자코드 설정
req.setCharacterEncoding("euc-kr");
//1. get parameter data
String userId = req.getParameter("userId");
String password = req.getParameter("password");
String hobby[] = req.getParameterValues("hobby");
//보내는 파라미터값에 대한 문자코드 설정
resp.setContentType("text/html;charset=euc-kr");
PrintWriter out = resp.getWriter();
out.println("<html>");
out.println("<body>");
out.println("<h1>입력하신 정보는 다음과 같습니다.</h1>");
out.println("<h2>아이디 : " + userId + "</h2>");
out.println("<h2>비밀번호 : " + password + "</h2>");
if(hobby != null){
for (int i=0;i<hobby.length;i++){
out.println("<h2>취미 " + i + " : " + hobby[i] + "</h2>");
}
}
out.println("</body>");
out.println("</html>");
}
}
=================================================================
login.html 문서에서
<form method="post" action="param.view"> action에는 상대경로이다.
만약에 login.html이 ROOT에 있을 경우
만약에 login.html이 ROOT 밑에 login 폴더에 있을 경우
만약에 login.html이 ROOT에 있을 경우 port까지만 상대주소를 변환한다.
=================================================================
web Project 작성
===============================================================
login.html------>LoginServlet------>UserService------>UserDAO.java
login.html
LoginServlet ---> net.cjedu.login
UserService ---> net.cjedu.user
UserDAO.java ---> net.cjedu.user
UserServer
boolean login(String name, String password){};