1) JSP 서비스 경로 및 서블릿 정보 출력
<%@ 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 str = "hello jsp";
out.println(str + "<br>");
out.println(application.getRealPath("/"));
%>
<br>
<!-- jsp의 실제 서비스 경로값 : application.getRealPath("/")-->
<!-- getServletInfo() : 서블릿의 정보 출력 -->
<!-- 익스프레션(출력용) -->
<%= getServletInfo() %>
</body>
</html>
Jsp의 내장객체인 application의 getRealPath() 메소드를 통해 jsp의 실제 서비스 경로값을 알 수 있다.
getServletInfo()메소드는 서블릿의 정보를 출력해준다.
2) 오늘 날짜를 원하는 형식으로 출력하기 ( 자바의 Date객체와 SimpleDateFormat 객체 활용)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.Date" %> <!-- 추가 -->
<%@ page import="java.text.SimpleDateFormat" %> <!-- 추가 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title> </title>
</head>
<body>
<%
Date nowDate = new Date(); //날짜 객체 생성
out.println(nowDate+"<br>");//웹 브라우저에 출력
System.out.println(nowDate);//톰캣의 콘솔창에 출력
//원하는 데이터 포맷 지정
SimpleDateFormat dateformat = new SimpleDateFormat("yyyy년 MM월 dd일 a HH:mm:ss");
//현재날짜를 지정한 포맷으로 변환
String formatDate = dateformat.format(nowDate);
%>
현재 날짜는 <%= formatDate %> 이다.
</body>
</html>
따로, import를 통해서 각 객체의 패키지 경로를 추가해줘야한다.
Date 오늘 = new Date();
SimpleFormat 형식 = new SimpleFormat("원하는 형식");
오늘을 원하는 형식으로 바꾸기 위해서
String 결과 = 형식(SimpleFormat의 참조변수).format(오늘);
3) 파일들끼리 결합(조각 낸 파일)하는 방식
jspf (fragment) - 페이지를 조각(페이지 모듈화) , 기본 html태그들 전혀 필요 없다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- jspf (fragment) : 조각파일 (페이지 모듈화)
따로 html의 기본태그들 필요 없다. -->
<%
String c="#e0ffff";
String back_c="#8fbc8f";
%>
자바는 따로 기존의 폴더가 아닌 src/main/java 하위 폴더에서 처리
config 폴더에서 상수를 선언해준다.
package config;
public class Constants {
public static final int MAX = 100;
}
cf) 갑자기 나온 자바지식
static final : 모든 영역에서 고정된 값으로 사용하는 상수일 경우 사용
static : 클래스의 고정된 멤버로, 객체를 생성하지 않고도 사용이 가능한 필드와 메소드(클래스 멤버)
final : 한 번 선언하면 값을 변경할 수 없는, 또는 상속 금지, 오버라이딩 금지의 의미
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<h2>페이지 모듈화</h2>
<%
String str="hello jsp";
%>
위의 조각난 파일들을 한 곳으로 다 가져온다면 다음과 같다.
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!-- jspf파일은 inlcude로 가져온다. -->
<%@ include file="colr.jspf" %>
<!-- java파일은 import로(Config폴더 밑에 Constants라는 자바파일) 가져온다.-->
<%@ page import="config.Constants" %> <!-- 자바는 import로 -->
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>모듈화된 페이지를 하나로</title>
<style type="text/css">
body {
background-color: <%= c %>
}
</style>
</head>
<body>
<h2>최대값 : <%= Constants.MAX %></h2>
<jsp:include page="test1.jsp"></jsp:include>
<%-- <%= str %> 에러 : --%>
<!-- jsp액션태그 , 액션태그는 java변수를 공유할 수 없다. -->
<!-- jsp지시어 , java 변수 공유 가능하다. -->
<%@ include file="test1.jsp" %>
<%= str %>
</body>
</html>
jspf,jsp파일은 include로 가져오나 java파일의 경우 import를 사용한다.
또한, CSS에서도(style태그) 익스프레션 사용이 가능하다.
액션태그 | jsp 지시어 |
<jsp:include page=""></jsp:include> | <%@ include file="" %> |
java 변수 공유 불가 | java 변수 공유 가능 |
4) 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 str1 = "java";
%>
<%! //jsp 선언부(전역변수, 메소드 선언)
String str2 = "db";
String getStr2(){
return str2;
}
%>
<%= str1 %><br>
<%= str2 %><br>
<%= getStr2() %>
</body>
</html>
전역변수나 메소드를 선언하는 영역이다.
5) 쿼리스트링방식
-get방식) url?변수=값&변수=값(url에 정보값이 보여짐)
-post방식
<%@ 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>
<form method="get" action="queryString.jsp">
학번 : <input type="text" name="no"><br>
이름 : <input type="text" name="name"><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>queryString.jsp</title>
</head>
<body>
<!--get방식은 post방식과 달리 한글처리가 가능 : utf-8처리X -->
<!--그러나 post방식은 반드시
request.getCharacterEncoding("utf-8"); 인코딩을 해야 한글처리가 가능하다. -->
<%
String no = request.getParameter("no");
String name = request.getParameter("name");
%>
학번 : <%= no %><br>
이름 : <%= name %>
</body>
</html>
get 방식의 경우, 따로 utf-8로 인코딩하지 않아도 한글 처리가 가능하지만,
post방식의 경우는 한글 처리를 위해서 반드시 utf-8로 인코딩해야만 한다.
'WEB > JSP' 카테고리의 다른 글
트랜잭션 처리, 배치 처리 (0) | 2022.07.22 |
---|---|
JDBC - DB연결해서 멤버 리스트 출력, 삽입, 삭제하기 (0) | 2022.07.22 |
Session 객체 (0) | 2022.07.18 |
웹 프로젝트 생성 및 DB연결 (0) | 2022.07.17 |
JSP /SERVLET 개념 정리 (0) | 2022.07.17 |