728x90
반응형
SMALL
📌 실습예제1 : 서블릿에 로그인 요청 시 유효성 검사하기
1. login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인창</title>
</head>
<body>
<form name= "frmLogin" method="post" action="/pro06/loginTest">
아이디 :<input type="text" name="user_id"><br>
비밀번호 : <input type="password" name="user_pw"><br>
<input type="submit" value="로그인"> <input type="reset" value="다시입력">
</form>
</body>
</html>
2. LoginTest.java
package sec04.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/loginTest")
public class LoginTest extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
System.out.println("init메서드");
}
public void destroy() {
System.out.println("destroy 메서드");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("user_id");
String pw = request.getParameter("user_pw");
System.out.println("아이디는 : " + id);
System.out.println("비밀번호는 : " + pw);
if(id != null && (id.length()!=0) ) {
out.print("<html>");
out.print("<body>");
out.print(id + "님 로그인 하셨습니다");
out.print("</html>");
out.print("</body>");
}else {
out.print("<html>");
out.print("<body>");
out.print("아이디를 입력하세요");
out.print("<br>");
out.print("<a href='http://localhost:8090/pro06/test01/loginTest.html'> 로그인 창으로 이동 </a>");
out.print("</html>");
out.print("</body>");
}
}
}
3. 실행결과
- 로그인 성공시 정상적으로 메시지가 출력 된다.
- 만약 ID를 입력하지 않고 요청 시 다시 입력하라는 오류 메시지가 출력된다.
📌 실습예제2 : 서블릿으로 로그인 요청 시 관리자 화면 나타내기
-> 실습1을 이용하여 로그인시 admin ID로 로그인하면 회원 관리와 회원 삭제 기능 보여주도록 한다.
1. LoginTest2.java
package sec04.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/loginTest2")
public class LoginTest2 extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
System.out.println("init메서드");
}
public void destroy() {
System.out.println("destroy 메서드");
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
String id = request.getParameter("user_id");
String pw = request.getParameter("user_pw");
System.out.println("아이디는 : " + id);
System.out.println("비밀번호는 : " + pw);
if(id!=null && (id.length()!=0)) {
if(id.equals("admin")){
out.print("<html>");
out.print("<body>");
out.print("<font size='12'> 관리자로 로그인하셨습니다 </font>");
out.print("<br>");
out.print("<input type=button value='회원정보 수정하기'/>");
out.print("<input type=button value='회원정보 삭제하기'/>");
out.print("</html>");
out.print("</body>");
}else {
out.print("<html>");
out.print("<body>");
out.print(id + "님 로그인 하셨습니다");
out.print("</html>");
out.print("</body>");
}
}else{
out.print("<html>");
out.print("<body>");
out.print("아이디를 입력하세요");
out.print("<br>");
out.print("<a href='http://localhost:8090/pro06/test01/loginTest.html'> 로그인 창으로 이동 </a>");
out.print("</html>");
out.print("</body>");
}
}
}
2. login.html 에서 LoginTest2 를 매핑하도록 수정한다.
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인 창</title>
</head>
<body>
<form name="frmlogin" method="post" action="loginTest2">
아이디 <input type="text" name="user_id"><br>
비밀번호 <input type="password" name="user_pw"><br>
<input type="submit" value="로그인">
<input type="reset" value="다시입력">
</form>
</body>
</html>
3. 실행결과
- admin계정으로 로그인시 관리자로 로그하셨습니다 라는 메시지가 표시된다.
📌 실습예제3 : 서블릿으로 요청 시 구구단 출력하기
1. 구구단의 단수를 입력받는 gugu.html 작성한다
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>단수 입력창</title>
</head>
<body>
<h1>출력할 구구단의 수를 지정해주세요</h1>
<form method="get" action="/pro06/guguTest">
출력할 구구단 : <input type="text" name="dan" />
<input type="submit" value="구구단출력" >
</form>
</body>
</html>
2. GuguTest.java 작성하기
package sec04.ex01;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet("/guguTest")
public class GuguTest extends HttpServlet {
public void init(ServletConfig config) throws ServletException {
System.out.println("init메서드");
}
public void destroy() {
System.out.println("destroy 메서드");
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
int dan = Integer.parseInt(request.getParameter("dan"));
out.print("<table border=1 width=800 align=center>");
out.print("<tr align=center bgcolor='#FFFF66'>");
out.print("<td colspan=2>" + dan + "단 출력 </td>");
out.print("</tr>");
for(int i = 1; i<10; i++) {
out.print("<tr align=center >");
out.print("<td width=400>");
out.print(dan + " * " + i);
out.print("</td>");
out.print("<td width=400>");
out.print( i * dan);
out.print("</td>");
out.print("</tr>");
}
out.print("</table>");
}
}
3. 실행결과
728x90
반응형
LIST
'Servlet & JSP > Servlet & JSP 공부' 카테고리의 다른 글
[자바웹을다루는기술] 쿠키란? (0) | 2022.02.15 |
---|---|
[자바웹을다루는기술] request.setCharacterEncoding 와 response.setContentType 차이 (0) | 2022.02.15 |
[자바웹을다루는기술] 바인딩 (0) | 2022.02.15 |
[자바웹을다루는기술] 서블릿의 여러가지 포워드 방법 (0) | 2022.02.15 |
[자바웹을다루는기술] 자바스크립트로 서블릿 요청하기 (0) | 2022.02.14 |