<form>태그의 method
get,post
생략하면 기본 get방식
get : 속도가 post보다는 빠르지만 보안취약
http://localhost:8085/Servers/getSend.jsp?name=나는+로봇이아닙니다&address=11231123&pet=DOG
get방식/ &(앰퍼센드로 구분)
post 방식일때 한글깨지는거 인코딩해주는거
<% request.setCharacterEncoding("utf-8"); %>
받는쪽에 넣어줘야함
버퍼는 기본8kb 지정됨
오토플러시는 버퍼가 다찼을때 데이터를 전송해야할곳에 보내주거나 저장하고 버퍼를 비워준다
autoflush true : 자동 버퍼플러시
false : 버퍼가 다차면 예외를 발생시키고 작업 중지
배포 파일을 익스포트 war파일로, 톰캣 webapps폴더안에 저장, 윈도우즈톰캣을 실행
톰캣내장기능이 자동으로 war파일 압축을 주기적으로 풀어줌, 이클립스 톰캣은 꺼주고 해야함
로그인 예시
<%
//로그인화면에서 로그인할때 아이디(memId)를 서버에 전달
String id = request.getParameter("id");
String pass = request.getParameter("pass");
String err = "아이디,비번틀림";
//아이디가 null이 아니고 aaa와 일치하면(검증)
if(id != null && id.equals("aaa") && pass.equals("1234")){
//서버에서 로그인을 하면서 네이버로 이동(응답)
response.sendRedirect("https://www.naver.com/");
}else{
%>
<%= err%> 땡!<%-- 이렇게 해도 되고 저거 지우고 문자열 넣어도됨 --%>
<%-- 디렉티브(<% %>)를 열고닫아서 java랑 html구간을 명확히 해줘야함 --%>
<%
}
%>
자주사용하는 JSP기본객체
page영역 : 하나의 JSP페이지를 처리할때 사용되는 영역
request영역 : 하나의 HTTP요청을 처리할때 사용되는 영역
session 영역 : 하나의 웹브라우저와 관련된 영역
application : 하나의 웹어플리케이션과 관련된 영역
application영역은 브라우저를 닫거나 컴퓨터를 종료해도 데이터가 남아있다
서버를 종료해야 데이터가 사라짐
<%
String uname = request.getParameter("uname");
String val = request.getParameter("val");
if(uname != null && val != null){
application.setAttribute(uname, val);
//uname속성값을 val로 지정한다
out.println(uname + "=" + val);
}else{
out.println("appl기본객체 속성설정 안해");
}
%>
<%
out.println("디렉티브 내부에서 out.print를 이용한 출력");
%>
Exception 처리하기
1. 직접 지정하기
2. 에러페이지 지정하기(만들기)
3. 응답상태 별로 에러페이지 지정하기
등등
TRY-CATCH로 직접지정하기만 하자
money 돈 :
<%-- <% request.getParameter("money").toUpperCase(); %>--%>
<%-- NullPointerException 발생 --%>
<%
try{%>
<% request.getParameter("money").toUpperCase(); %>
<% }catch(Exception ex){
out.println("고장!");
%>
<img src ="totoro.jpg">
<%}%>
토토로 사진을 띄우며 신뢰도를 상승시키며 에러페이지 처리
<jsp:include page="commonhead2.jsp" />
<%-- 액션태그include : 옆에jsp와 연결시켜줌
footer를 데려와줘서 출력해줌 마지막에 / 필수임 --%>
<%--
<jsp:include page="commonhead2.jsp">
<jsp:param name="" value=""/>
<jsp:param name="" value=""/>
</jsp:include> --> /닫는태그, include사이에 param 사용/
사용하고나서 /닫아야함
--%>
include는 포함시킨다
forward는 단순이동 화면을 A에서 B로 바꾸려 할때
A.jsp에서 <jsp:forword page="b.jsp">를 해놓으면 A를 열자마자
B로 이동