반응형
회원가입 폼 조건과 내가 만든 코드는 아래 링크에서 볼 수 있다.
https://skylarcoding.tistory.com/56
코드
강사님이 해주신 코드. 내가 한 것과는 반대로 주어진 조건이 일치하지 않을 경우를 if 의 조건으로 넣어 return 해주었다.
훨씬 간단한 코드가 나온다. Servlet 파일을 생성해 값을 받아 HTML 문서까지 만들어보았다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
<script>
function a(){
let html = "";
if (f.id.value.length >6){
html += "id: " + f.id.value + "\n";
} else {
alert ("id는 6글자 이상이어야 합니다")
return;
}
if (f.pwd.value != f.pwdcheck.value){
alert ("pwd가 일치하지 않습니다")
} else {
if (f.pwd.value.length > 5){
html += "pwd: " + f.pwd.value + "\n";
} else {
alert ("pwd 는 5글자 이상이어야 합니다")
return;
}
}
f.submit();
alert(html);
}
</script>
</head>
<body>
<form name = "f">
<div id = "join">
<h1>회원가입 폼</h1>
id : <b>6글자 이상 작성</b> <input type = "text" name = "id" > <br/>
pwd : <b>5글자 이상 작성</b> <input type = "password" name = "pwd" ><br/>
pwd 확인: <input type = "password" name = "pwdcheck"><br/>
email : <input type = "text" name = "email"><br/>
<input type = "button" value = "가입" onclick = "a()">
</div>
</form>
</body>
</html>
Servlet 이용해 클라이언트에게 보내줄 HTML 문서 생성하기
package test;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Join
*/
@WebServlet("/member/Join")
public class Join extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public Join() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//한글 적용
request.setCharacterEncoding("euc-kr");
response.setCharacterEncoding("euc-kr");
response.setContentType("text/html; charset=EUC-KR");
// TODO Auto-generated method stub
//요청
String id = request.getParameter("id");
String pwd = request.getParameter("pwd1");
String email = request.getParameter("email");
//응답 페이지 생성
PrintWriter pw = response.getWriter(); //응답 페이지에 출력할 출력 스트림 생성
//클라이언트에게 보내줄 html 문서 생성
pw.append("<html><body><h1>");
pw.append("회원가입 완료 <br/>");
pw.append("id:" +id + "<br/>");
pw.append("pwd:" +pwd + "<br/>");
pw.append("email:" + email + "<br/>");
pw.append("</h1></body></html>");
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
doGet(request, response);
}
}
반응형