③ JSP프로젝트-4 html에서 여러가지 정보를 입력받아 servlet에서 출력(회원가입 만들어보기)
inputUser.html |
<!DOCTYPE html>
<HTML>
<HEAD>
<META http-equiv= "Content-Type" content= "text/html;charset=euc-kr">
<TITLE>회원가입창</TITLE>
</HEAD>
<BODY>
<H2>정보 입력</H2>
<FORM action=outputUser method=GET>
이름: <INPUT TYPE=text NAME=name><BR>
아이디: <INPUT TYPE=text NAME=id><BR>
패스워드: <INPUT TYPE=password NAME=password><BR><BR>
결혼유무:
유<INPUT TYPE=radio NAME=hwk VALUE=yes>
무<INPUT TYPE=radio NAME=hwk VALUE=no><BR><BR>
취미(중복선택가능):
자전거<INPUT TYPE=CHECKBOX NAME=ride>
컴퓨터<INPUT TYPE=CHECKBOX NAME=computer>
공부<INPUT TYPE=CHECKBOX NAME=study><BR><BR>
직업:
<SELECT NAME=job>
<OPTION>학생</OPTION>
<OPTION>회사원</OPTION>
<OPTION>기타</OPTION>
</SELECT><BR><BR>
<INPUT TYPE=RESET VALUE= "취소">
<INPUT TYPE=SUBMIT VALUE= "확인">
</FORM>
</BODY>
</HTML>
확인을 누르면 get방식으로 outputUser 로 정보를 보내줍니다.
이름과 아이디는 text형식으로 비밀번호는 password형식
결혼유무는 라디오 name를 같게 해야함
취미랑 직업은 각각 checkbox와 option으로 했습니다.
outputUser.java |
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 outputUser
*/
@WebServlet("/outputUser")
public class outputUser extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public outputUser() {
super();
// TODO Auto-generated constructor stub
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
String name = request.getParameter("name");
String id = request.getParameter("id");
String password = request.getParameter("password");
String hwk = request.getParameter("hwk");
if (hwk.equals("ok"))
hwk = "ok";
else
hwk = "no";
String ride = request.getParameter("ride");
String computer = request.getParameter("computer");
String study = request.getParameter("study");
String job = request.getParameter("job");
response.setContentType("text/html;charset=euc-kr");
PrintWriter out = response.getWriter();
out.println("<HTML>");
out.println("<HEAD><TITLE>회원정보 입력 결과</TITLE></HEAD>");
out.println("<BODY>");
out.printf("이름: %s <BR> ", name);
out.printf("아이디: %s <BR> ", id);
out.printf("암호: %s <BR> ", password);
out.printf("결혼유무: %s <BR> ", hwk);
out.printf("자전거: %s <BR> ", hobby(ride));
out.printf("컴퓨터: %s <BR> ", hobby(computer));
out.printf("공부: %s <BR> ", hobby(study));
out.printf("직업: %s <BR> ", job);
out.println("</BODY> ");
out.println("</HTML> ");
}
private String hobby(String notice) {
if (notice == null)
return "취미아님";
else if (notice.equals("on"))
return "취미";
else
return notice;
}
/**
* @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);
}
}
doGet으로 받아와서 라디오버튼이 선택된것에는 ok 아니면 no라고 했다
체크박스로 된것들은 다 불러와야되고 라디오버튼은 한번만 불러오면됨
option도 한번만 불러오면된다
혹시라도 밑에 저처럼 한글이 깨져서 출력이 될경우
자신이 설치한 tomcat파일에 conf로 들어간다 그곳에 server.xml 파일이 있다.
이것에서 connector이 8080인것을 찾는다
후에 URIEncoding="euc-kr"을 입력한다