선언문, JSP 회원가입 페이지 만들기

JSP,MariaDB
홍윤's avatar
Aug 13, 2024
선언문, JSP 회원가입 페이지 만들기
폼… 서버에 정보를 제공하겠다.
요청:클라이언트 —> 서버
Get(주소에 요청자원에 대한 정보)
Post(x)-보안성이 있다.
\=======================
선언문
<%! %> <!-- 이것을 선언문이라고 한다.
======================
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%! %> <!-- 이것을 선언문이라고 한다. --> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <%! %> 스크립트릿(자바영역)
<h3> <%=str %> 표현식 값 = str에 값을 표현하라는 뜻이다</h3> (HTML영역) </body> </html>
이렇게 선언을 할 수있다. 함수 등등 다 할 수있다.
서블릿에서는 f()함수를 쓰러면 service에 써야한다.
=============================
선언문 예제
<%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <%!int n=10; ArrayList<String> list = new ArrayList<>();
void f() { System.out.print("hello"); }%>
<html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% String s = "홍길동"; %>
<h2> 번호: <%=n%></h2> <h3> 이름 : <%=s%></h3>
</body> </html>
======================
jsp
java(처리—>처리결과(데이터)) + HTML(뷰-사용자화면)
 
화면(레이아웃:디자인…데이터)
============================
선언문배열예제
<% int[] array = { 1, 2, 3, 4, 5 }; for (int i = 0; i < array.length; i++) {
%> <h3><%=array[i]%></h3> <% } (자바코드) %>
표현식으로 써줘야지 화면에 데이터를 나오게 한다.
===========================
쿼리스트링 만들어서 익숙해지기 예제
first.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>Frist_JSP</h1> <a href="second.jsp?num=1&name=홍길동">second.jsp</a> </body> </html>
*
<a href="second.jsp?num=1&name=홍길동"> 이걸 만들줄 알아야한다.
*
second.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body>
<% String num = request.getParameter("num"); String name = request.getParameter("name"); %> <h1>Second_Jsp</h1> 번호: <%=num %> 이름: <%=name %>
</body> </html>
 
pageContext 예제
context.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>시작</h1> <% pageContext.setAttribute("name", "James"); request.setAttribute("name", "민수");
request.getRequestDispatcher("context_1.jsp").forward(request, response); %> <%=pageContext.getAttribute("name")%> <br> <%=request.getAttribute("name")%> <br> <!-- a href="context_1.jsp">결과화면보기</a> -->
</body> </html>
context_1.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>종료</h1> <%
%> 페이지에 저장된 이름 값: <%= pageContext.getAttribute("name") %> <br> 페이지에 저장된 이름 값: <%= request.getAttribute("name") %> </body> </html>
 
http://localhost:8093/ex00/context.jsp 이걸보면 서버는 클라이언트한테 쿼리스트링을 알려줄 필요없어서 서버가 내부적으로 영역을 안 보여준다.
 
=============================
회원가입→회원정보 완료페이지→로그인페이지→로그인체크→성공페이지or실패페이지
 
회원가입.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="vo.Member1Vo" %> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>회원가입 페이지</title> <style> </style> </head> <body> <div class="container"> <h1>회원가입 페이지</h1> <form action="showinfo.jsp" method="post"> <table border="1"> <tr> <td>이름:</td> <td><input type="text" name="name" placeholder="이름을 입력하세요"></td> </tr> <tr> <td>생년월일:</td> <td><input type="text" name="day" placeholder="생년월일을 입력하세요"></td> </tr> <tr> <td>연락처:</td> <td><input type="text" name="phone" placeholder="연락처(-포함)를 입력하세요"></td> </tr> <tr> <td>아이디:</td> <td> <input type="text" name="id" placeholder="사용 할 아이디를 입력하세요"> <select name="idOption"> <option value="@naver.com">@naver.com</option> <option value="@gmail.com">@gmail.com</option> <option value="@daum.net">@daum.net</option> </select> </td> </tr> <tr> <td>비밀번호:</td> <td><input type="text" name="pw" placeholder="사용 할 비밀번호를 입력하세요"></td> </tr> <tr> <td colspan="2"><input type="submit" value="회원가입 완료"></td> </tr> </table> </form> </div> </body> </html>
 
showinfo.jsp
</head> <body> <div class="container"> <h1>회원 가입을 완료하였습니다.</h1> <% String name = request.getParameter("name"); String day = request.getParameter("day"); String phone = request.getParameter("phone"); String id = request.getParameter("id"); String idOption = request.getParameter("idOption"); String pw = request.getParameter("pw");
application.setAttribute("id", id); application.setAttribute("pw", pw); %> <form action="loginin.jsp" method="post"> <table border="1"> <tr> <th colspan="2">------회원정보-------</th> </tr> <tr> <td>아이디 정보:</td> <td><%= application.getAttribute("id") + idOption %></td> </tr> <tr> <td>비밀번호 정보:</td> <td><%= application.getAttribute("pw") %></td> </tr> </table> <input type="submit" value="로그인 하러가기"> </form>
</div> </body> </html>
loginin.jsp
</head> <body> <div class="container"> <h1>로그인 페이지</h1> <form action="logincheck.jsp" method="post"> <table> <tr> <td>아이디:</td> <td> <input type="text" name="idlog" placeholder="ID를 입력하세요"> <select name="idOption"> <option value="@naver.com">@naver.com</option> <option value="@gmail.com">@gmail.com</option> <option value="@daum.net">@daum.net</option> </select> </td> </tr> <tr> <td>비밀번호:</td> <td><input type="password" name="pwlog" placeholder="비밀번호를 입력하세요"></td> </tr> <tr> <td colspan="2"><input type="submit" value="로그인"></td> </tr> </table> </form> </div> </body> </html>
logincheck.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% String idlog = request.getParameter("idlog"); String pwlog = request.getParameter("pwlog");
String id = (String) application.getAttribute("id"); String pw = (String) application.getAttribute("pw"); if (idlog.equals(id) && pwlog.equals(pw)) { response.sendRedirect("loginsuccess.jsp"); } else { response.sendRedirect("loginfail.jsp"); }
%> </body> </html>
성공페이지.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>로그인 성공</title> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; font-family: Arial, sans-serif; background-color: #fff5e6; /* 연한 주황색 배경 */ }
.container { background-color: #fff; padding: 30px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); }
h1 { text-align: center; margin-bottom: 30px; color: #ff9800; /* 주황색 텍스트 */ } </style> </head> <body> <div class="container"> <h1>로그인에 성공하셨습니다.</h1> </div> </body> </html>
로그인실패.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>로그인 실패</title> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; font-family: Arial, sans-serif; background-color: #333; /* 어두운 배경색 / color: #fff; / 흰색 텍스트 */ }
.container { background-color: #555; /* 어두운 컨테이너 배경색 */ padding: 30px; border-radius: 5px; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3); }
h1 { text-align: center; margin-bottom: 30px; color: #ff3333; /* 붉은색 텍스트 */ } </style> </head> <body> <div class="container"> <h1>로그인에 실패하셨습니다.</h1> </div> </body> </html>
=====================
jsp 마리아디비 연동
<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.Statement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% Class.forName("org.mariadb.jdbc.Driver"); Connection conn = DriverManager.getConnection("jdbc:mariadb://localhost:3306/green01", "root", "1234"); Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("SELECT * FROM studenttbl");
while (rs.next()) { %> 이름:<%=rs.getString("sname")%> 그륩:<%=rs.getString("sgroup")%> 점수:<%=rs.getInt("score")%> <% } %>
</body> </html>
 
Share article

Uni