폼… 서버에 정보를 제공하겠다.
요청:클라이언트 —> 서버
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