jsp 내부객체 예제
request.getParameter
예외처리
점수 출력
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>점수 입력창</title>
</head>
<body>
<h1>시험 점수를 입력해 주세요.</h1>
<form action="grade_result.jsp" method="get">
시험점수 : <input type="number" name="score" /><br/>
<input type="submit" value="학점보기" />
</form>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>학점 출력</title>
</head>
<body>
<%
request.setCharacterEncoding("UTF-8");
String score1 = request.getParameter("score"); //name값
if(score1 == "" || score1 == null){
%>
<h1>점수가 잘못 입력되었습니다.</h1>
<a href="scoreinput.html">시험점수 입력</a>
<%
return;
}
int score = Integer.parseInt(score1);
%>
<h1>시험 점수 : <%=score %></h1>
<%
if(score > 100 || score < 0) {
%>
<h1>점수는 0~100사이값입니다. 점수가 잘못 입력되었습니다.</h1>
<%
}
%>
<%
if(score >= 90 && score <= 100){
%>
<h1>A학점입니다.</h1>
<%
}
else if(score >= 80 && score <= 89){
%>
<h1>B학점입니다.</h1>
<%
}
else if(score >= 70 && score <= 79){
%>
<h1>C학점입니다.</h1>
<%
}
else if(score >= 60 && score <= 69){
%>
<h1>D학점입니다.</h1>
<%
}
else if(score <= 60 && score >= 0){
%>
<h1>F학점입니다.</h1>
<%
}
%>
<br/>
<a href="scoreinput.html">시험점수 입력</a>
</body>
</html>
request 객체 상세
getParameter Values 체크박스와 같은 다중 값
response 객체 상세
회원가입 예제
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 가입</title>
</head>
<body>
<form action="joinParam.jsp" method="post" enctype="UTF-8">
이름 : <input type="text" name="name" size="10" required="required" /><br/>
아이디 : <input type="text" name="id" size="10" required="required" /><br/>
비밀번호 : <input type="password" name="pw" size="10" required="required" /><br/>
<!-- checkbox타입 : 다중선택이 가능하다. -->
취미 : <input type="checkbox" name="hobby" value="read" size="10" />독서
<input type="checkbox" name="hobby" value="cook" size="10" />요리
<input type="checkbox" name="hobby" value="cycle" size="10" />사이클
<input type="checkbox" name="hobby" value="run" size="10" />조깅
<input type="checkbox" name="hobby" value="study" size="10" />연구
<br/>
전공 : <input type="radio" name="major" value="com" size="10" checked="checked"/>컴퓨터공학
<input type="radio" name="major" value="dis" size="10" />디자인학
<input type="radio" name="major" value="eng" size="10" />영문학
<input type="radio" name="major" value="it" size="10" />IT융합학
<br/>
성별 : <input type="radio" name="gender" value="male" size="10" checked="checked"/>남자
<input type="radio" name="gender" value="female" size="10" />여자
<br/>
직업 : <select name="job">
<option value="학생">학생</option>
<option value="기획자">기획자</option>
<option value="개발자" selected="selected">개발자</option>
<option value="퍼블리셔">퍼블리셔</option>
<option value="공무원">공무원</option>
</select>
<br/><br/>
<input type="submit" value="회원가입" size="10" />
<input type="reset" value="초기화" size="10" />
</form>
</body>
</html>
<%@page import="java.util.Arrays"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>회원 가입 결과</title>
</head>
<body>
<!-- 스크립의 선언부 -->
<%!
String name, id, pw, major, gender, job;
String[] hobby;
%>
<%
request.setCharacterEncoding("UTF-8");
//각각의 인자값을 받아줌.
name = request.getParameter("name");
id = request.getParameter("id");
pw = request.getParameter("pw");
major = request.getParameter("major");
gender = request.getParameter("gender");
job = request.getParameter("job");
/* 다중값 선택이므로 getParameterValues() 이용함. */
hobby = request.getParameterValues("hobby");
%>
<!-- 표현식을 이용해서 출력함 -->
전송받은 이름<%=name %><br/>
전송받은 아이디 : <%=id %><br/>
전송받은 비밀번호 : <%=pw%><br/>
전송받은 전공 : <%=major%><br/>
전송받은 성별 : <%=gender%><br/>
전송받은 직업 : <%=job%><br/>
전송받은 취미 : <%=Arrays.toString(hobby)%><br/>
</body>
</html>
score점수에 따라서 페이지 이동이 되어 페이지 자체가 달라지는 예제 get 방식
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>시험 점수 입력</title>
</head>
<body>
<form action="scoreResult.jsp" method="get">
이름 : <input type="text" name="name" size="10" /><br/>
<!-- input태그의 type속성중, number값은 숫자만 입력되게끔 하는 것 -->
점수 : <input type="number" name="score" size="10" /><br/>
<input type="submit" value="합격확인" />
</form>
</body>
</html>
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
//아래 코드는 다른 페이지에서 요청할 경우 get방식으로 할수 있도록 하기 위함.
String encodedName = URLEncoder.encode(name, "UTF-8");
String strScore = request.getParameter("score");
//점수를 바로 문자열에서 정수타입으로 캐스팅
int score = Integer.parseInt(strScore);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
if(score < 0 || score > 100){
out.println("<h1>점수를 잘못 입력하셨습니다.</h1>");
out.println("<a href='score.html'>점수입력</a>");
return;
}
%>
<%
//score점수에 따라서 페이지 이동이 되어 페이지 자체가 달라지는 코드
if(score >= 60){
//정수가 60점 이상이면 pass.jsp파일로 이동한다.(get방식)
response.sendRedirect("pass.jsp?name=" +encodedName+ "&score=" +strScore);
System.out.println("scoreResult.jsp페이지를 지나감1.");
}
else {
//정수가 60점 미만이면 notpass.jsp파일로 이동한다.(get방식)
response.sendRedirect("notpass.jsp?name=" +encodedName+ "&score=" +strScore);
System.out.println("scoreResult.jsp페이지를 지나감2.");
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String score = request.getParameter("score");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>합격 페이지</title>
</head>
<body>
<h1><%=name %>님은 <%=score %>점으로 합격하셨습니다.</h1>
<a href="score.html">점수 입력</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
String score = request.getParameter("score");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>불합격페이지</title>
</head>
<body>
<h1><%=name %>님은 <%=score %>점으로 불합격하셨습니다.</h1>
<a href="score.html">점수 입력</a>
</body>
</html>
score점수에 따라서 페이지 이동이 되어 페이지 자체가 달라지는 예제 post 방식
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>시험 점수 입력</title>
</head>
<body>
<form action="scoreResult2.jsp" method="post">
이름 : <input type="text" name="name" size="10" /><br/>
<!-- input태그의 type속성중, number값은 숫자만 입력되게끔 하는 것 -->
점수 : <input type="number" name="score" size="10" /><br/>
<input type="submit" value="합격확인" />
</form>
</body>
</html>
<%@page import="java.net.URLEncoder"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String name = request.getParameter("name");
//post방식으로 보낼때 : 값을 session에 저장하여 다른 페이지로 이동할 때 파라미터 값을 넘겨야한다.
pageContext.getSession().setAttribute("name", name);
String strScore = request.getParameter("score");
pageContext.getSession().setAttribute("score", strScore);
if((strScore != null) && (strScore.equals(""))){
out.print("<h1>점수를 입력해주세요.</h1>");
out.print("<a href=score2.html>점수 입력</a>");
return;
}
//점수를 바로 문자열에서 정수타입으로 캐스팅
int score = Integer.parseInt(strScore);
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
if(score < 0 || score > 100){
out.println("<h1>점수를 잘못 입력하셨습니다.</h1>");
out.println("<a href='score2.html'>점수입력</a>");
return;
}
%>
<%
//score점수에 따라서 페이지 이동이 되어 페이지 자체가 달라지는 코드
if(score >= 60){
//정수가 60점 이상이면 pass.jsp파일로 이동한다.(post방식)
response.sendRedirect("pass2.jsp");
System.out.println("scoreResult2.jsp페이지를 지나감1.");
}
else {
//정수가 60점 미만이면 notpass.jsp파일로 이동한다.(post방식)
response.sendRedirect("notpass2.jsp");
System.out.println("scoreResult2.jsp페이지를 지나감2.");
}
%>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
//post 방식으로 받을 때
String name = (String)pageContext.getSession().getAttribute("name");
String score = (String)pageContext.getSession().getAttribute("score");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>합격 페이지</title>
</head>
<body>
<h1><%=name %>님은 <%=score %>점으로 합격하셨습니다.</h1>
<a href="score2.html">점수 입력</a>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
request.setCharacterEncoding("UTF-8");
String name = (String)pageContext.getSession().getAttribute("name");
String score = (String)pageContext.getSession().getAttribute("score");
%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>불합격페이지</title>
</head>
<body>
<h1><%=name %>님은 <%=score %>점으로 불합격하셨습니다.</h1>
<a href="score2.html">점수 입력</a>
</body>
</html>