CH 01内蔵対象(09-15鋼)
103077 ワード
1.練習リクエストオブジェクト1
*requestオブジェクトは、次のページで結果値を渡すことはできません。
(次のページでのみフォームラベルとaラベルで値を渡すことができます)
<body>
<center>
<h2>로그인 페이지</h2>
<form action="RequestLoginProc.jsp" method="post">
<table width="400" border="1">
<tr height="60">
<td align="center" width="150">아이디</td>
<td align="left" width="250">
<input type="text" name="id">
</td>
</tr>
<tr height="60">
<td align="center" width="150">비밀번호</td>
<td align="left" width="250">
<input type="password" name="pass">
</td>
</tr>
<tr height="60">
<td colspan="2" align="center">
<input type="submit" value="전송">
</td>
</tr>
</table>
</form>
</center>
</body>
=>>結果<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!-- RequestLogin에서 넘어온 아이디와 비밀번호를 읽는 방법 2가지 -->
<%
// 사용자의 정보가 저장되어있는 객체 request객체의 getParameter() 메서드를 이용해서 사용자의 정보를 추출
String id = request.getParameter("id"); // 사용자의 id값을 읽어드려서 변수 id에 저장하시오
String pass = request.getParameter("pass");
%>
당신의 아이디는 <%=id %> 이고 비밀번호는 <%=pass %> 입니다.
<h2>
<a href="RequestForward.jsp">다음 페이지</a>
</h2>
</body>
</html>
=>>結果あなたのIDはdarkozで、パスワードは1234です.
次のページ
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<!-- RequestLogin에서 넘어온 아이디와 비밀번호를 읽는 방법 2가지 -->
<%
// 사용자의 정보가 저장되어있는 객체 request객체의 getParameter() 메서드를 이용해서 사용자의 정보를 추출
String id = request.getParameter("id"); // 사용자의 id값을 읽어드려서 변수 id에 저장하시오
String pass = request.getParameter("pass");
%>
<h2>
RequestForward 페이지 입니다. <br>
당신의 아이디는 <%=id %> 이고 비밀번호는 <%=pass %> 입니다.
</h2>
</body>
</html>
=>>結果「転送要求」ページ.
ユーザー名はnull、パスワードはnullです.
===>requestオブジェクトは、結果値を次のページに渡すことはできません。
(次のページでのみフォームラベルとaラベルで値を渡すことができます)
1.リクエスト対象練習2
=>>結果
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>회원 가입</h2>
<form action="RequestJoinProc.jsp" method="post">
<table border="1" width="500">
<tr height="50">
<td width="150" align="center">아이디</td>
<td width="350" align="center">
<input type="text" name="id" size="40" placeholder="id를 넣으세요">
</td>
</tr>
<tr height="50">
<td width="150" align="center">비밀번호</td>
<td width="350" align="center">
<input type="password" name="pass1" size="40" value="0000">
</td>
</tr>
<tr height="50">
<td width="150" align="center">비밀번호 확인</td>
<td width="350" align="center">
<input type="password" name="pass2" size="40">
</td>
</tr>
<tr height="50">
<td width="150" align="center">이메일</td>
<td width="350" align="center">
<input type="email" name="email" size="40">
</td>
</tr>
<tr height="50">
<td width="150" align="center">전화번호</td>
<td width="350" align="center">
<input type="tel" name="tel" size="40">
</td>
</tr>
<tr>
<td width="150" align="center">당신의 관심분야</td>
<td width="350" align="center">
<input type="checkbox" name="hobby" value="캠핑"> 캠핑
<input type="checkbox" name="hobby" value="등산"> 등산
<input type="checkbox" name="hobby" value="영화"> 영화
<input type="checkbox" name="hobby" value="독서"> 독서
</td>
</tr>
<tr height="50">
<td width="150" align="center"> 당신의 직업은</td>
<td width="350" align="center">
<select name="job">
<option value="교사">교사</option>
<option value="변호사">변호사</option>
<option value="의사">의사</option>
<option value="기술사">기술사</option>
</select>
</td>
</tr>
<tr height="50">
<td width="150" align="center">당신의 연령은?</td>
<td width="350" align="center">
<input type="radio" name="age" value="10">10대
<input type="radio" name="age" value="20">20대
<input type="radio" name="age" value="30">30대
<input type="radio" name="age" value="40">40대
</td>
</tr>
<tr height="50">
<td width="150" align="center"> 하고싶은 말</td>
<td width="350" align="center">
<textarea rows="5" cols="40" name="info"></textarea>
</td>
</tr>
<tr height="50">
<td colspan="2" align="center">
<input type="submit" value="회원 가입">
<input type="reset" value="취소">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>회원 정보 보기</h2>
<%
// post 방식으로 데이터가 넘어올때 한글이 깨질 수 있기에
request.setCharacterEncoding("EUC-KR");
// 각종 사용자로부터 넘어온 데이터를 저장해줌
String id = request.getParameter("id");
String pass1 = request.getParameter("pass1");
String pass2 = request.getParameter("pass2");
String email = request.getParameter("email");
String tel = request.getParameter("tel");
// []배열 타입으로 리턴
//getParameterValues() 메서드는 순서없이 모든 데이터(중복선택 된 데이터)가 저장
String[] hobby = request.getParameterValues("hobby");
String job = request.getParameter("job");
String age = request.getParameter("age");
String info = request.getParameter("info");
if(!pass1.equals(pass2)){
%>
<script type="text/javascript">
alert("비밀번호가 틀립니다."); // 경고창
history.go(-1);
</script>
<%
}
%>
<table width="500" border="1">
<tr height="50">
<td width="150" align="center">아이디</td>
<td width="350" align="center">
<%=id %>
</td>
</tr>
<tr height="50">
<td width="150" align="center">비밀번호</td>
<td width="350" align="center">
<%=pass1 %>
</td>
</tr>
<tr height="50">
<td width="150" align="center">이메일</td>
<td width="350" align="center">
<%=email%>
</td>
</tr>
<tr height="50">
<td width="150" align="center">전화번호</td>
<td width="350" align="center">
<%=tel%>
</td>
</tr>
<tr height="50">
<td width="150" align="center">관심분야</td>
<td width="350" align="center">
<%
for(int i=0; i<hobby.length; i++){
out.write(hobby[i]+" ");
}
%>
</td>
</tr>
<tr height="50">
<td width="150" align="center">직업은</td>
<td width="350" align="center">
<%=tel%>
</td>
</tr>
<tr height="50">
<td width="150" align="center">나이대</td>
<td width="350" align="center">
<%=age%>
</td>
</tr>
<tr height="50">
<td width="150" align="center">하고싶은 말</td>
<td width="350" align="center">
<%=info%>
</td>
</tr>
</table>
</center>
</body>
</html>
2.練習応答対象1
=>>結果
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<center>
<h2>로그인 페이지</h2>
<form action="ResponseLoginProc.jsp" method="post">
<table width="400" border="1">
<tr height="60">
<td align="center" width="150">아이디</td>
<td align="left" width="250">
<input type="text" name="id">
</td>
</tr>
<tr height="60">
<td align="center" width="150">비밀번호</td>
<td align="left" width="250">
<input type="password" name="pass">
</td>
</tr>
<tr height="60">
<td colspan="2" align="center">
<input type="submit" value="전송">
</td>
</tr>
</table>
</form>
</center>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>로그인 처리 페이지</title>
</head>
<body>
<h2>로그인 처리 페이지</h2>
<%
request.setCharacterEncoding("euc-kr");
//임의적으로 id와 pass를 설정
String dbid = "aaaa";
String dbpass = "1234";
// 사용자로부터 넘어온 데이터를 입력 받아줌
String id = request.getParameter("id");
String pass = request.getParameter("pass");
if(dbid.equals(id) && dbpass.equals(pass)){
// 아이디와 패스워드가 일치하면 페이지를 보여줌
// response.sendRedirect 메서드 사용시 현재 페이지를 화면에 표시하지 않고 다음 페이지로 넘어감!!
response.sendRedirect("ResponseMain.jsp?id="+id);
}else{
%>
<script type="text/javascript">
alert("아이디와 비밀번호를 다시 확인하세요");
history.go(-1);
</script>
<%
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
request.setCharacterEncoding("euc-kr");
String id = request.getParameter("id");
%>
<h2>
<%=id %> 님 반갑습니다.
</h2>
</body>
</html>
3.セッションオブジェクトの練習
=>>結果
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h2>세션 연습</h2>
<%
String name = "kim";
// 세션 : 세션을 이용하여 데이터를 유지
session.setAttribute("sname", name);
//세션 유지시간
session.setMaxInactiveInterval(10); //10초간 세션을 유지
%>
<a href="SessionName.jsp?name=<%=name%>">세션네임 페이지로 이동</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h2>세션 네임 페이지 입니다.</h2>
<%
String sname = (String)session.getAttribute("sname");
%>
<%=request.getParameter("name")%>
<br><br>
<%=sname %>님 session 값입니다.
</body>
</html>
4.Out内蔵練習
jspスクリプトを出力する2つの方法
=>>結果
<%@ page language="java" contentType="text/html; charset=EUC-KR"
pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
String name = "알리미 어플";
%>
스크립트로 표현시 <%=name %>이 화면에 출력 <br><br>
<%
out.println(name+"이 화면2에 출력");
%>
</body>
</html>
Reference
この問題について(CH 01内蔵対象(09-15鋼)), 我々は、より多くの情報をここで見つけました https://velog.io/@darkoz/CH01-내장객체0915강テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol