Post

JDBC로 OLACLE 접속


Oracle Database 11g Express Edition 설치 



SQL Plus


  • cmd 창을 열어서 sqlplus system/pass 를 치면 실행된다.
  • pass는 Oracle 설치 시 설정했던 비밀번호 이다.
  • 로그인 : sqlplus <id>/<pass>
  • 일반 계정 생성 : create user <id> identified by <pass>; 
  • 권한 부여 : grant connect, resource to <id>
  • 로그아웃 : exit

오라클 SQL Developer(GUI)



JDBC 사용하기


  • Java프로그램에서 sql문을 사용할 수 있는 Java API
  • DB 프로그램에서 JDBC Driver를 제공해서, 다른 DB를 사용할 때 그냥 연결만 해주면 된다.
  • Oracle 드라이버 사용을 위해 ojdbc6_g.jar 파일 복사. Copy Path에 넣는다.
  • ojdbc6_g.jar Path : C:\oraclexe\app\oracle\product\11.2.0\server\jdbc\lib
  • Copy Path : C:\Program Files\Java\jdk-11\lib\ext\
  • Eclipse Menu-Window-Preferenes-Java-Build Path-Classpath Variable

JDBC DB연결 예제


<%@page import="java.sql.DriverManager" %>

<%@page import="java.sql.ResultSet" %>
<%@page import="java.sql.Statement" %>
<%@page import="java.sql.Connection" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    <%!
    Connection connection;
    Statement statement;
    ResultSet resultSet;
   
    String driver = "oracle.jdbc.driver.OracleDriver"// 드라이버 정보
    String url = "jdbc:oracle:thin:@localhost:1521:xe";       // 어디에 접근할 것인지
    String uid = "scott";                                                  // login id
    String upw = "tiger";                                                  // login user pass
    String query = "select * from member";
    %>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv = "Content-Type" content="text/html" charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
out.println("???");
       // db관련 에러가 날 수 있기 때문에 항상 예외 처리를 함
       try{
              Class.forName(driver);
              connection = DriverManager.getConnection(url, uid, upw);      // db에 로그인
              statement = connection.createStatement();
              resultSet = statement.executeQuery(query);
              out.println("query 날리기~~ ");
              while(resultSet.next())
              {
                     out.println("없다?~ ");
                     
                     String id = resultSet.getString("id");
                     String pw = resultSet.getString("pw");
                     String name = resultSet.getString("name");
                     String phone = resultSet.getString("phone");
                     
                     out.println("아이디:"+id+", 비밀번호:"+pw+"이름:"+name+",전화번호:"+phone+"<br />");
              }
       }catch(Exception e)  {
              out.println(e);
       }finally{
              
              // 마치면 접속 종료
              try{
                     if(null != resultSet) resultSet.close();
                     if(null != statement) statement.close();
                     if(null != connection) connection.close();
                     
              }
              catch(Exception e){}
       }
%>
</body>
</html>



oracle.jdbc.driver.OracleDriver 에러 해결


  • JDBC lib가 없어서 발생.
  • ProjectProperties - Java Build Path - Libraries - Add External JARs..
  • ojdbc6_g.jar 파일 선택.








Post

JSP 쿠키, Session, 예외 페이지, 자바빈


JSP 쿠키


  • client <-> server 은 request, respone 후 연결을 끊는다.(http의 특징)
  • 연결이 끊겼을 때 어떤 정보를 유지하기 위해서 쿠키 사용.
  • 예를들어 로그인 후 다른 페이지로 이동하면, 로그인 정보를 가지고 있어야 한다. 이 때 쿠키를 사용.
  • 서버에서 쿠키를 생성한 후 클라이언트가 쿠키 정보를 저장.
  • 쿠키는 보안상의 문제가 있기 때문에(text파일로 id, pass 저장) 점점 사용하지 않음.

JSP 쿠키 함수


  • setMaxAge() : 쿠키 저장시간 설정(초단위)
  • setPath() : 쿠키 유효 디렉터리 설정(잘 쓰이지 않는다고 함)
  • setValue() : 쿠키 값 설정
  • setVersion() : 쿠키 버전 설정

JSP 쿠키 생성


  • Cookie cookie = new Cookie("CookieName", CookieValue");
  • Cookie class로 쿠키 생성
  • Cookie class의 첫번째 인자는 쿠키 이름, 두번째 인자는 쿠키 값이다. 
  • 쿠키 유지 시간 설정
    • cookie.setMaxAge(60*60); // 1시간
  • 응답객체에 쿠키 저장
    • response.addCookie(cookie);

JSPExample.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ 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>
<%
Cookie cookie = new Cookie("name""value");
cookie.setMaxAge(60*60); // 1 hour
response.addCookie(cookie);
%>
<a herf="CookieEx.jsp">cookie get</a>
</body>
</html>
cs


JSP 쿠키 정보 Client 출력


  • Cookie[] cookies = request.getCookies();
  • request 객체로 Cookie 정보를 가져온다.
  • cookies[i].getName(), cookies[i].getValue() 로 Cookies 이름, 값을 알 수 있다.

CookieEx.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ 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>
<%
Cookie[] cookies = request.getCookies();
for(int i =0; i <cookies.length++i)
{
       String str = cookies[i].getName();
       if(str.equals("name"))
       {
              out.println("cookies["+i+"]name:"+ cookies[i].getName()+"<br />");
              out.println("cookies["+i+"]value:"+ cookies[i].getValue()+"<br />");
       }
}
%>
<a href="CookieDel.jsp">쿠키확인</a>
</body>
</html>
cs

JSP 쿠키 삭제


  • request 객체에서 Cookies 정보를 가져온다.
  • 삭제할 쿠키를 이름으로 찾은 후 쿠키 저장시간을 0으로 초기화해서 쿠키를 지운다.
  • cookies[i].setMaxAge(0)
  • 이 전 페이지로 돌아가면 쿠키 정보를 더 이상 출력하지 않는다.

CookieDel.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ 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>
<%
Cookie[] cookies = request.getCookies();
for(int i = 0; i < cookies.length++i)
{
       String str = cookies[i].getName();
       if(str.equals("name"))
       {
              out.println("name:"+cookies[i].getName()+"<br />");
              cookies[i].setMaxAge(0);
              response.addCookie(cookies[i]);
       }
}
%>
</body>
</html>
cs


JSP 쿠키 로그인 예제


  • id, pass 를 입력받아서 로그인이 성공하면 Admin.jsp 페이지로 이동한다.
  • 만약 로그아웃하려면 Cookie 시간을 0으로 설정하면 된다.

login.html
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="SignIn.jsp" method="post">
아이디:<input type="text" name="id" size="10"><br />
비밀번호 : <input type="password" name="pw" size="10"><br />
<input type="submit" value="로그인">
</form>
</body>
</html>
Admin.jsp
<%@ 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 id, pw;
%>
<%
       id = request.getParameter("id");
       pw = request.getParameter("pw");
       
       if(id.equals("admin") && pw.equals("1234"))
       {
              Cookie cookie = new Cookie("id", id);
              cookie.setMaxAge(60);
              response.addCookie(cookie);
              response.sendRedirect("Admin.jsp");
       }
       else
       {
              response.sendRedirect("login.html");
       }
%>
</body>

</html>


JSP Session


  • Cookies와 달리 Session은 Server에 저장된다.
  • Cookies는 1.2mb까지 저장할 수 있지만 Session은 제한이 없다.
  • Session은 Client 요청이 들어올 때 자동 생성.
  • Cookies는 요즘 사용못하게 막는 경우가 있어 Session이 많이 사용된다.

Session 메소드


  • setAttribute() : 세션에 데이터 저장.
  • getAttribute() : 세션에서 데이터 얻음.
  • getAttributeNames() : 세션의 모든 데이터의 이름을 얻음.
  • getId() : 자동 생성된 세션의 유니크한 아이디를 얻음.
  • isNew() : 세션이 최초 생성되었는지, 이전에 생성된건지 구분
  • getMaxInactiveInterval() : Session의 유효시간을 얻음. 가장 최근 요청 시점을 기준으로 카운트.
  • D:\apache-tomcat-8.5.34\conf\web.xml web.xml에 Session 유효시간이 적혀있음.
  • 30분이 설정되어있음.

<session-config>

    <session-timeout>30</session-timeout>
</session-config>
  • removeAttribute() : 세션에서 특정 데이터 제거.
  • Invalidate() : 세션의 모든 데이터를 삭제.
login.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="SignIn.jsp" method="post">
아이디:<input type="text" name="id" size="10"><br />
비밀번호 : <input type="password" name="pw" size="10"><br />
<input type="submit" value="로그인">
</form>
</body>
</html>
cs


SignIn.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<%@ 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 id, pw;
%>
<%
       id = request.getParameter("id");
       pw = request.getParameter("pw");
       
       if(id.equals("admin"&& pw.equals("1234"))
       {
              session.setAttribute("id", id);
              response.sendRedirect("Admin.jsp");
       }
       else
       {
              response.sendRedirect("login.html");
       }
%>
</body>
</html>
cs


Admin.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<%@page import="java.util.Enumeration"%>
<%@ 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>
<%
Enumeration<String> enumeration = session.getAttributeNames();
while(enumeration.hasMoreElements())
{
       String sName = enumeration.nextElement().toString();
       String sValue = (String)session.getAttribute(sName);
       
       if(sValue.equals("admin"))
       {
              out.println(sValue+"님 안녕하세요"+"<br/>");
       }
       
}
%>
</body>
</html>
cs


JSP 예외 페이지


  • 기본 예외 페이지는 tomcat 페이지이므로 친숙한 디자인의 예외 페이지가 필요하다.

age지시자를 이용한 예외처리


  • 현재 Page에서 error 발생 시 errorPage.jsp 로 이동하라.
    • <%@ page errorPage="errorPage.jsp" %>
  • erroPage.jsp 에러페이지에서 page지시자를 통해 에러페이지라는 것을 명시.
    • Defaul가 false이므로 반드시 명시.
    • <%@ page isErrorPage="true"%>
  • 에러 Status 값을 준다.
    • 200은 정상적인 페이지라는 뜻. 에러 표시 페이지는 정상이므로 200으로 setting.
    • <% response.setStatus(200); %>
  • 에러 메시지 출력
    • <%= exception.getMessage() %>
ExceptionEx.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<%@ page errorPage="Error.jsp" %>>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
int i = 40/0;
%>
</body>
</html>
cs


Error.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
    <%@ page isErrorPage="true" %>
    <% response.setStatus(200); %>
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
Error가 발생했습니다<br>
<%= exception.getMessage() %>
</body>
</html>
cs


web.xml 파일을 이용한 예외 처리


  • web.xml 파일로 예외처리를 할 수 있다.
  • web.xml 파일 위치
  • Project\WebContent\WEB-INF\web.xml
  • <error-page> 안에 에러페이지 정보를 기술한다.
  • <error-page> 안에 errorcode, 이동할 예외처리 페이지를 적는다
1
2
3
4
<error-page>
    <error-code>500</error-code>
    <location>/error500.jsp</location>
</error-page>
cs


JSP 자바 빈


  • JAVA언어의 속성, 메소드로 이루어진 클래스.
  • JSP페이지 안에서 액션태크를 사용해 빈을 사용.
  • 자바 빈이란 jsp에서 Java 객체를 가져와 쓸 수 있도록 해주는 것.

자바 빈 액션 태그


  • 빈을 사용한다는 선언
  • scope value
    • page일 때 : 생성된 페이지 내에서만 사용.
    • request일 때 : 요청된 페이지 내에서 사용.
    • session일 때 : 웹브라우저의 생명주기와 동일하게 사용 가능.
    • application일 때 : 웹 어플리케이션 생명주기와 동일하게 사용 가능.
    • <jsp:useBean id = "자바빈 name" class="pakage.classname" scope="area" />
  • 객체 값 설정
  • player 객체에 id속성 값을 1로 설정.
<jsp:setProperty name="player" property="id" value="1"/>

  • 객체 값 가져오기
<jsp:getProperty name="player" property="id"/><br />


BeanEx,.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<jsp:useBean id="player" class="w.Player" scope="page" />
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<jsp:setProperty name="player" property="id" value="1"/>
<jsp:setProperty name="player" property="name" value="gosu" />
<jsp:setProperty name="player" property="level" value="20" />
id:<jsp:getProperty name="player" property="id"/><br />
name:<jsp:getProperty name="player" property="name"/><br />
level:<jsp:getProperty name="player" property="level"/><br />
</body>
</html>
cs


Player.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
package w;
public class Player {
       private int          id;
       private String       name;
       private int   level;
       
       public Player()
       {
       
       }
       
       public void setId(int _id)
       {
              id = _id;            
       }
       
       public int getId()
       {
              return id;
       }
       
       public void setName(String _name)
       {
              name = _name;
       }
       
       public String getName()
       {
              return name;
       }
       
       public void setlevel(int _level)
       {
              level = _level;            
       }
       
       public int getlevel()
       {
              return level;
       }
}
cs


'이전게시판 > JSP' 카테고리의 다른 글

JDBC로 OLACLE 접속  (0) 2018.10.22
JSP 태그, request, response, 지시자, 액션태그  (0) 2018.10.20
Servlet 값 초기화, 리스너  (0) 2018.10.20
Servlet Get,Post 동작  (0) 2018.10.19
Servlet 설정, 예제  (0) 2018.10.18
JSP 설치, 설정, 실행  (0) 2018.10.18

Post

JSP 태그, request, response, 지시자, 액션태그


JSP 태그


  • JSP는 html코드에 java를 사용하여 다이나믹 웹을 만들 수 있다.
  • html에서 java를 사용하기 위해 jsp 태그를 사용한다.
  • jsp 태그
    • 지시자 : <%@ @> 페이지 속성
    • 주석 : <%-- --%>
    • 선언 : <%! %> 변수, 메소드 선언
    • 표현식 : <%= %> : 결과값 출력
    • 스크립트릿 : <% %> java 코드
    • 액션태크 : <jsp:action> </jsp:action> : 자바빈 연결

JSP 동작 원리


  • client가 web에 jsp 요청 시 jsp 컨테이너가 jsp파일을 servlet파일(.java)로 변환
  • 그리고 servlet파일(.java)은 컴파일 된 후 클래스 파일(.class)로 변환되고 html 파일로 응답함.
  • jsp가 요청을 받을 시 servlet, class 파일로 변환되고 메모리에 올려지고, 요청 응답을 한다.
  • 다시 요청을 받을 시 메모리에 이미 올려져있으므로, 메모리에 올려진 데이터를 재활용해서 응답 한다. 

JSP 내부 객체


  • 개발자가 객체를 생성하지 않고 바로 사용할 수 있는 객체.
  • JSP컨테이너에 의해 Servlet으로 변화될 때 자동으로 객체가 생성 됨.
  • 내부객체 종류
    • 입출력 객체 : request, response, out
    • 서블릿 객체 : page, config
    • 세션 객체 : session
    • 예외 객체 : exception

JSP 스크립트릿, 선언, 표현식


  • <% java 코드 기술 %>
  • jsp페이지에서 java 언어를 사용하기 위한 요소
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<%@ 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>
<%
int i = 0;
for(i = 0; i < 10++i)
{
       out.println(i+":"+"HelloWorld"+"<br/>");
}
%>
</body>
</html>
cs


  • <% java 선언 기술 %>
  • jsp페이지에서 변수 또는 메소드를 선언할 때 사용함.
  • 변수는 '<%' 사용시 에러 안나는데 함수는 에러남.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<%@ 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>
<%!
int a = 10;
int b = 20;
%>
<%!
public int sum(int a, int b)
{
       return a+b;   
}
%>
<%
out.println(a+"+"+b+"="+sum(a, b)+"<br/>");
%>
</body>
</html>
cs


  • <%= java 코드 기술 %>
  • 변수의 값 또는 메소드 호출 결과값을 출력하기 위해 사용됨.
  • 결과값은 String 타입이며 ;를 사용할 수 없다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<%@ 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>
<%!
int a = 10;
int b = 20;
%>
<%=%></br>
<%=%></br>
</body>
</html>
cs


JSP 지시자


  • JSP 페이지의 전체적인 속성을 지정할 때 사용.
  • <%@ 속성 %>
  • page : JSP페이지 속성. import 할 때도 쓴다.
1
2
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
cs


  • include : 다른 page의 내용을 삽입함.
  • JspEx.jsp, IncludeEx.jsp 파일을 만들고 JspEx.jsp 소스에 include 지시자를 사용한다.
  • 출력결과  JspEx.jsp 페이지 IncludeEx.jsp 페이지 라고 나오는 것을 확인할 수 있다.
JspEx.jsp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<%@ page import="java.util.Arrays" %>
<%@ 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>
JspEx.jsp 페이지
<%@ include file="IncludeEx.jsp" %>
</body>
</html>
cs


IncludeEx.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ 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>
IncludeEx.jsp 페이지
</body>
 
</html>
cs


taglib 지시자


  • 사용자가 만든 tag들을 태그 라이브러리라고 함.
  • 유명한 라이브러리로 JSTL이 있음.

JSP 주석


  • <%-- 주석 -->
  • JSP 주석은 페이지 소스 보기로 보이지 않음.
  • JSP 안에서 java 주석을 사용해도 됨.

request 객체


  • web client가 server로 정보를 요청하는 것을 request라고 함.
  • 요청정보는 request 객체가 관리함.
  • 메소드
    • getServerName() : 서버 이름 얻어옴
    • getServerPort() : 서버 포트 번호 얻어옴
    • getContextPath() : 웹어플리케이션의 컨텍스트 패스를 얻음.
    • getMethod() : get, post 방식 구분
    • getSession() : session 객체 얻음.
    • getProtocol() : protocol 객체 얻음.
    • getRequestURL() : 요청 URL을 얻음.
    • getRequestURI() : 요청 URI를 얻음.
    • getQueryString() : 쿼리스트링을 얻음.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<%@ 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>
<%
out.println("ServerName:"+request.getServerName()+"<br/>");
out.println("ServerPort:"+request.getServerPort()+"<br/>");
out.println("ContextPath:"+request.getContextPath()+"<br/>");
out.println("Get or Post?:"+request.getMethod()+"<br/>");
out.println("URL:"+request.getRequestURL()+"<br/>");
out.println("URI:"+request.getRequestURI()+"<br/>");
out.println("QueryString:"+request.getQueryString()+"<br/>");
%>
</body>
</html>
cs


Parameter메소드


  • JSP 코드로 요청받은 정보의 값을 얻어온다.
  • 메소드
    • getParameterNames() : Parameter 이름 구함
    • getParameter(String name) : Parameter 이름으로 값을 찾음.
    • getParameterValues(String name) : 배열같이 여러개의 값을 가지고 있을 때 이름을 구함.

form.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="JspEx.jsp" method="post">
이름:<input type="text" name="name" size="10"><br/>
아이디:<input type="text" name="id" size="10"><br/>
비밀번호:<input type="password" name="pw" size="10"><br/>
취미:<input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" nam="hobbpy" value="cook">요리
<input type="checkbox" nam="hobbpy" value="run">조깅
<input type="checkbox" nam="hobbpy" value="swim">수영
<input type="checkbox" nam="hobbpy" value="sleep">취침<br/>
<input type="radio" name="major" value="kor">국어
<input type="radio" name="major" value="checked">영어
<input type="radio" name="major" value="mat">수학
<input type="radio" name="major" value="des">디자인<br/>
<select name="protocol">
<option value="http">http</option>
<option value="ftp" selected="selected">ftp</option>
<option value="smtp">smtp</option>
<option value="pop">pop</option>
</select><br/>
<input type="submit" value="전송">
<input type="reset" value="초기화">
</form>
</body>
</html>
cs


JspEx.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<%@page import ="java.util.Arrays" %>
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equivb="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%!
String name, id, pw, major, protocol;
String[] hobbys;
%>
<%
request.setCharacterEncoding("EUC-KR");
name = request.getParameter("name");
id = request.getParameter("id");
pw = request.getParameter("pw");
major = request.getParameter("major");
protocol = request.getParameter("protocol");
hobbys = request.getParameterValues("hobby");
%>
이름:<%= name %><br/>
id:<%=id %><br/>
pw:<%=pw %><br/>
major=<%=major %><br />
protocol=<%=protocol %><br />
</body>
</html>
cs



response 객체의 이해


  • 요청의 응답 정보를 가지고 있는 객체.
  • 메소드
    • getCharacterEncoding() : 응답할 때 문자의 인코딩 형태를 구함.
    • addCookie(Cokkie) : 쿠키 지정.
    • SendRedirect(URL) : 지정한 URL로 이동.
    • 아래 예제는 id가 admin일 경우 admin. 페이지로 이동하고 일반 유저일 경우 user 페이지로 이동하게 해놨다. 

form.html

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!DOCTYPE html>
<html>
<head>
<meta charset="EUC-KR">
<title>Insert title here</title>
</head>
<body>
<form action="JspEx.jsp">
id를 입력해주세요
<input type="text" name="id" size="10">
<input type="submit" value="전송">
</form>
</body>
</html>
 
cs


JspEx.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equivb="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
String str = request.getParameter("id");
if(str.equals("admin"))
{
       response.sendRedirect("admin.jsp?id="+str);     
}
else
{
       response.sendRedirect("user.jsp?id="+str);      
}
       
%>
</body>
</html>
cs


JSP 액션태그


  • JSP 파일에서 어떤 동작을 하도록 지시하는 태그.
  • forward, include, param 태그 등.. 이 있다.

forward 태그


  • 다른 페이지로 이동할 때 사용
  • 다른 페이지로 이동해도 이동한 페이지 url로 변경되지 않음.
  • <jsp:forward page="sub.jsp"/>
1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equivb="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>jspEx.jsp 페이지</h1>
<jsp:forward page="user.jsp"/>
</body>
</html>
cs


include 태그


  • 현재 페이지에 다른 페이지를 삽입함.
  • <jsp:include page="otherpagename.jsp"/>
1
2
3
4
5
6
7
8
9
10
11
12
13
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equivb="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<h1>jspEx.jsp 페이지</h1>
<jsp:include page="user.jsp"/>
</body>
</html>
cs


param 태그


  • 데이터를 전달하는 태그.
  • 이름과 값으로 이루어져 있다.
  • forward, include 태그와 같이 사용하면 페이지를 넘길 때 Param을 넘겨줄 수 있다.
  • <jsp:param name="id" value="id" />

JspEx.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equivb="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<jsp:forward page="user.jsp">
<jsp:param name="id" value="id" />
<jsp:param name="pw" value="!@#!@#" />
</jsp:forward>
</body>
</html
cs


user.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<%@ 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 id, pw;
%>
<%
id = request.getParameter("id");
pw = request.getParameter("pw");
%>
유저정보
id : <%=id %>
pass : <%=pw%>
</body>
</html>
cs


'이전게시판 > JSP' 카테고리의 다른 글

JDBC로 OLACLE 접속  (0) 2018.10.22
JSP 쿠키, Session, 예외 페이지, 자바빈  (0) 2018.10.21
Servlet 값 초기화, 리스너  (0) 2018.10.20
Servlet Get,Post 동작  (0) 2018.10.19
Servlet 설정, 예제  (0) 2018.10.18
JSP 설치, 설정, 실행  (0) 2018.10.18

Post

Servlet 값 초기화, 리스너


ServletConfig


  • 특정 Servlet이 생성될 때 초기에 필요한 데이터가 있음.
  • WebContent/WEB-INI/web.xml에 기술하고 Servlet 파일에서는 Servlet.Config 클래스를 이용해서 접근.
  • 아래 예제에서 InitParam 주소를 IP로 mapping 하고 있다.
  • 또 Parameter id, pw에 값을 초기화할 수도 있다.

WebContent\web.xml
<?xml version="1.0" encoding="UTF-8"?>
  <display-name>LifeCycle</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
 
  <servlet>
  <servlet-name>InitParam</servlet-name>
  <servlet-class>com.java.w.InitParam</servlet-class>
 
  <init-param>
  <param-name>id</param-name>
  <param-value>id</param-value>
  </init-param>
  <init-param>
  <param-name>pw</param-name>
  <param-value>12345</param-value>
  </init-param>
   </servlet>
  <servlet-mapping>
  <servlet-name>InitParam</servlet-name>
  <url-pattern>/IP</url-pattern>
  </servlet-mapping>
</web-app>

InitParam.java
package com.java.w;

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
* Servlet implementation class InitParam
*/
@WebServlet("/InitP")
public class InitParam extends HttpServlet {
    private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public InitParam() {
        super();
        // TODO Auto-generated constructor stub
    }

    /**
     * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        response.getWriter().append("Served at: ").append(request.getContextPath());
        
        String id = getInitParameter("id");
        String pw = getInitParameter("pw");
        System.out.println("id ="+id);
        System.out.println("pw ="+pw);        
    }

    /**
     * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
     */
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        // TODO Auto-generated method stub
        doGet(request, response);
    }

}



Servlet에서 Parameter를 직접 초기화 할 수도 있다.


  • @WebServlet("/InitP") 되어있는 소스코드를 아래와 같이 수정한다.
  • @WebServlet(urlPatterns= {"/InitP"}, initParams={@WebInitParam(name="id",  value="id"), @WebInitParam(name="pw", value="1234")})



Servlet 데이터 공유


  • 여러 Servlet에서 특정 데이터를 공유할 수 있다.
  • web.cml파일에 context parameter 을 넣는다.
  • 여러 Servlet이 사용하므로 코드 상단에 추가해야한다.
  • ServletContext 메소드를 이용해서 데이터를 불러온다.

web.xml
<context-param>
<param-name>id</param-name>
<param-value>abc</param-value>
</context-param>
<context-param>
<param-name>pw</param-name>
<param-value>123</param-value>
</context-param>



jsp
String id = getServletContext().getInitParameter("id");
String pw = getServletContext().getInitParameter("pw");
              
System.out.println("id="+id);
System.out.println("pw="+pw);

웹 어플리케이션 감시


웹어플리케이션을 감시하는 Listener를 만들수 있다.
ServletContextListener을 상속하면 감시 클래스가 된다.
웹 어플리케이션 시작, 종료 시 호출된다.(호출함수:contextInitialized, contextDestroyed)

WebContent\web.xml
<?xml version="1.0" encoding="UTF-8"?>
  <display-name>LifeCycle</display-name>
  <welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
    <welcome-file>default.html</welcome-file>
    <welcome-file>default.htm</welcome-file>
    <welcome-file>default.jsp</welcome-file>
  </welcome-file-list>
 
       <listener>
       <listener-class>
       com.java.w.ServetlL
       </listener-class>
       </listener>
</web-app>

package com.java.w;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
public class ServetlL implements ServletContextListener{
       @Override
       public void contextDestroyed(ServletContextEvent sce) {
              // TODO Auto-generated method stub
                     System.out.println("contextDestroyed");
       }
       @Override
       public void contextInitialized(ServletContextEvent sce) {
              // TODO Auto-generated method stub
              System.out.println("contextInitialized");
                     
       }
}


Servlet Listener


  • web.xml 에서 Lisner를 선언하지 않고  Servelt 소스코드에서(class 이름 위에)@WebListener 라고 명시해도 Listener 클래스가 된다


'이전게시판 > JSP' 카테고리의 다른 글

JDBC로 OLACLE 접속  (0) 2018.10.22
JSP 쿠키, Session, 예외 페이지, 자바빈  (0) 2018.10.21
JSP 태그, request, response, 지시자, 액션태그  (0) 2018.10.20
Servlet Get,Post 동작  (0) 2018.10.19
Servlet 설정, 예제  (0) 2018.10.18
JSP 설치, 설정, 실행  (0) 2018.10.18

Post

Servlet Get,Post 동작


Get, Post방식


  • Client가 요청할 때 Get, Post 방식이 있다.
  • Get방식은 URL 값으로 정보가 전송되어 보안에 약함
  • Post방식은 header를 이용해 정보가 전송되어 보안에 강함.


Get방식


  • html내 form 태그의 method 속성이 get일 경우 호출됨.
  • HttpServletRequest 요청 처리 객체
  • HttpServletResponse 응답 처리 객체
  • response.setContentType("text/html") text/html로 응답을 보내겠다는 의미
  • html문법을 쓸 수 없기 때문에 PrintWriter class로 html 문법 사용 가능


Post방식


  • jsp파일에 method가 post인 form을 생성한다.
  • form action은 이동할 url 값으로 설정한다.
<form action="hw" method="post">
       <input type="submit" value="post">

</form>


Context Path


  • WSA에서 웹 어플리케이션을 구분하기 위한  Path.
  • 이클립스에서 프로젝트를 생성하면, 자동으로 server.xml에 추가됨.
  • http://localhost:8090/ex/hw

<Context docBase="ex" path="/ex" reloadable="true" source="org.eclipse.jst.jee.server:ex"/></Host>

Servlet 작동순서


  • 클라이언트에서 servlet 요청이 들어오면 서버에서는 servlet 컨테이너를 만들고 요청이 있을 때마다 스레드 생성.
  • 보통 web Server는 요청이 많을수록 객체를 생성해서 느려진다.
  • Servlet은 JVM 위에 MultiThread로 처리할 수 있어서 부하가 적다.
  • Servlet 객체 생성(최초)->Init() 호출(최초)->service(), doGet(), doPost() 호출(요청시)->destroy() 호출(마지막 한번, 서버 재가동 등..)
  • Init()호출 전 선처리 @PostConstruct 가 호출됨.
  • destory()호출 후 후처리 @PreDestroy가 호출됨.

form 태그


  • 서버쪽으로 정보를 전달할 때 사용.
  • ex) <form action = "Form" method="post">
  • action : 요청하는 컴포넌트 이름(join.jsp , info.gtml)
  • post : 요청을 처리하는 방식(get, post)
  • Get : local:8090/컨텍스트/path/MemberJoin?id="abcd"&name="ww"
  • Post : local:8090/컨텍스트/path/MemberJoin
  • 아래는 jsp, servlet 예제

jsp

<%@ 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>
<form action="FormEx" method="post">
이름:<input type="text" name="name" size="10"><br/>
아이디:<input type="text" name="id" size="10"><br/>
비밀번호:<input type="password" name="pw" size="10"><br/>
취미:<input type="checkbox" name="hobby" value="read">독서
<input type="checkbox" nam="hobbpy" value="cook">요리
<input type="checkbox" nam="hobbpy" value="run">조깅
<input type="checkbox" nam="hobbpy" value="swim">수영
<input type="checkbox" nam="hobbpy" value="sleep">취침<br/>
<input type="radio" name="major" value="kor">국어
<input type="radio" name="major" value="checked">영어
<input type="radio" name="major" value="mat">수학
<input type="radio" name="major" value="des">디자인<br/>
<select name="protocol">
<option value="http">http</option>
<option value="ftp" selected="selected">ftp</option>
<option value="smtp">smtp</option>
<option value="pop">pop</option>
</select><br/>
<input type="submit" value="전송">
<input type="reset" value="초기화">
</form>
</body>
</html>


servlet
package com.java.w;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
 * Servlet implementation class FormEx
 */
@WebServlet("/FormEx")
public class FormEx extends HttpServlet {
       private static final long serialVersionUID = 1L;
      
    /**
     * @see HttpServlet#HttpServlet()
     */
    public FormEx() {
        super();
        // TODO Auto-generated constructor stub
    }
       /**
        * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
        */
       protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              response.getWriter().append("Served at: ").append(request.getContextPath());
       }
       /**
        * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
        */
       protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
              doGet(request, response);
              
              System.out.println("doPost");
              
              String id = request.getParameter("id");
              String pw = request.getParameter("pw");
              String[] hobbys = request.getParameterValues("hobby");
              String major = request.getParameter("major");
              String protocol = request.getParameter("protocol");
              response.setContentType("text/html; charset=EUC-KR");
              PrintWriter writer = response.getWriter();
              
              writer.println("");
              writer.println("아이디:"+id+"
"); writer.println("비밀번호:"+pw+"
"); writer.println("취미:"+Arrays.toString(hobbys)+"
"); writer.println("전공:"+major+"
"); writer.println("프로토콜:"+protocol); writer.println(""); writer.close(); } }


한글처리


  • Tomcat 서버의 기본 문자 처리 방식은 IOS-8859-1 방식.
  • 별도의 인코딩을 하지 않으면 한글이 깨져보임
  • server.xml 수정
    • <Connector URIEncoding="UTF-8" connectionTimeout="20000" port="8090"  protocol="HTTP/1.1" redirectPort="8443"/>
  • servlet 인코딩 세팅 추가
    • request.setCharacterEncoding("UTF-8");



'이전게시판 > JSP' 카테고리의 다른 글

JDBC로 OLACLE 접속  (0) 2018.10.22
JSP 쿠키, Session, 예외 페이지, 자바빈  (0) 2018.10.21
JSP 태그, request, response, 지시자, 액션태그  (0) 2018.10.20
Servlet 값 초기화, 리스너  (0) 2018.10.20
Servlet 설정, 예제  (0) 2018.10.18
JSP 설치, 설정, 실행  (0) 2018.10.18

Post

Servlet 설정, 예제


Servlet 이란


  • JSP는 Html 위에서 JSP 문법을 사용하는 서버Side 파일.
  • JSP와 다르게 순수 Java코드만 사용.
  • 모델1은 JSP가  Model, View, Controller 기능을 전부 수행하지만
  • 모델2는 JSP가 View, Servlet이 Controller 기능을 각 각 따로수행하는 것으로 이해했다.
  • 모델2에서 JavaBeans가 Model이라고 한다.

 

Servlet 파일 생성


  • 프로젝트 생성 후 Java Resources 폴더 오른쪽클릭-New-Servlet 클릭
  • JavaPackage, Class Name을 작성(각각 com.TestProject, HelloServlet 이라고 적음)
  • 그리고 Next를 눌러서 URL mappings 에 이름을 변경한다.
  • usr mappings 값은 java 소스코드에 접근하기 위한 urlName 이다.
  • ex ) http://localhost:8090/<ProejctName>/<urlName>

Servlet 파일 작성


  • Java에서 html 태그를 쓰기위해서 PrintWriter 객체를 사용.
  • doGet함수에서 다음과 같이 소스를 작성한다.
  • 서버를 실행시켜 http://localhost:8090/<ProejctName>/<urlName> 도메인으로 접속하면 'Hello World'가 보인다.
  • but 아래 예제를 실행하면 크롬에서는 태그 자체가 보인다.
  • response.getWriter().append("Served at: ").append(request.getContextPath());
  • 위 소스를 지우면 또 잘 보이고, html 문서 새로 만들어서 동일하게 출력하게 만들었는데도 잘된다.
  • java 파일 변환과정에서 크롬이 잘못해석하는 변환이 있는건가?싶다.

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
              // TODO Auto-generated method stub
response.getWriter().append("Served at: ").append(request.getContextPath());
              
PrintWriter out = response.getWriter();
out.print(" <br>");
out.print("<html>");
out.print("<head>");
out.print("</head>");
out.print("<body>");
out.print("<p>Hello World</p>");
out.print("</body>");
out.print("</html>");
}

Servlet class 파일 확인


  • java 파일을 class 파일로 변환한 것을 확인해본다.
  • 자신의 javaProjectPath\build\classes\com\ProjectName\ 폴더안에 class 파일이 있는것을 확인할 수 있다.


'이전게시판 > JSP' 카테고리의 다른 글

JDBC로 OLACLE 접속  (0) 2018.10.22
JSP 쿠키, Session, 예외 페이지, 자바빈  (0) 2018.10.21
JSP 태그, request, response, 지시자, 액션태그  (0) 2018.10.20
Servlet 값 초기화, 리스너  (0) 2018.10.20
Servlet Get,Post 동작  (0) 2018.10.19
JSP 설치, 설정, 실행  (0) 2018.10.18

Post

JSP 설치, 설정, 실행


웹컨테이너란?


  • 웹서버에서 서블릿클래스, JSP파일을 실행시킬 수 있는 환경을 뜻한다.
  • 개발자는 jsp로 작업을 하고, 웹 컨테이너는 기계가 이해할 수 있도록 java, class, obj 파일을 만드는 역활을 한다.

웹컨테이너 환경을 제공해 주는 프로그램?


  • ApacheTomcat
  • Apache는 http웹 서버이다. 
  • Tomcat은 Web Application Service 이다. 웹 서버 기능도 할 수 있다.
  • 하지만 Apache는 정적인 데이터를 처리하고, Tomcat은 동적 데이터 처리해야 한다.
  • 목적에 따라 둘을 달리 쓰는 것이다.


Apache Tomcat 설치


  • 다운로드 링크 : https://tomcat.apache.org/
  • 나는 8.5.28 기준으로 설치하였다.
  • Zip 파일 클릭해서 다운로드 받는다.

웹컨테이너 설정


  • Server Tab이 있어야 한다. 없으면 메뉴에서 Window-Show View-Server를 찾아서 클릭한다.
  • Server Tab이 생기고 'No server are available. Click this... ' 라는 메시지가 보인다. 클릭하고 알맞은 versions 을 선택한다.
  • Apache Tomcat이 있는 폴더를 선택.
  • Server Tab에 'Tomcat v8.5 Server at localhost' 텍스트를 더블클릭하면 설정창이 뜬다. 
  • Server Locations 항목에서 'User Tomcat installation' 선택
  • Server Option 항목에서 'Publish module context to separate XML files' 선택(실제 tomcat 있는 폴더와 동기화 한다는 뜻)
  • Ports 항목에서 HTTP/1.1 Port Number를 8090으로 변경(8080은 DB 사용시 사용할 것)
  • 저장한 다음 Server Tab에 있는 디버그 아이콘 중에 Publish to the server 아이콘을 클릭. 서버와 동기화 완료.
  • 디버그 아이콘을 클릭하면 서버가 실행된다.(Start the Server)
  • 서버 실행을 확인방법은 http://localhost:8090/ 이 주소로 접속해서 tomcat 관련 페이지가 보이면 실행되는 것이다.

프로젝트 생성, JSP 파일 생성


  • 프로젝트 화면에서 오른쪽 클릭-New-Other-Dynamic Web Project 선택
  • 마지막 생성화면에서 'Generate web.xml deployment descriptor' 체크.
  • 프로젝트 생성 후 프로젝트 오른쪽 클릭-New-JSP File 클릭.
  • JSP파일은 WebContent 폴더 안에 생성되어야 한다.
  • 그러면 익숙한 html이 보인다. JSP는 html 위에서 jsp문법을 추가한 것.

JSP 파일 실행



<%@ 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>
       <p>Hello JSP World!</p>
</body>
</html>

  • Project 오른쪽 마우스 클릭 후 Run As - Run on Server 클릭하면 서버가 다시 올라간다.
  • 서버 접속은 local:8090/ProjectName/jsp file name이다.
  • 페이지 소스코드 보기로 보면 jsp 문법은 보이지 않고, html만 보인다.

.java, .class 파일 확인


  • 맨처음 Apache 폴더에서 work\Catalina\localhost\<ProjectName>\org\apache\jsp 폴더에 들어가면
  • 우리가 만들었던 jsp 파일을 이용해 웹컨테이너가 java, class 파일을 만든것을 확인할 수 있다.
  • ex) D:\apache-tomcat-8.5.34\work\Catalina\localhost\testProject\org\apache\jsp

'이전게시판 > JSP' 카테고리의 다른 글

JDBC로 OLACLE 접속  (0) 2018.10.22
JSP 쿠키, Session, 예외 페이지, 자바빈  (0) 2018.10.21
JSP 태그, request, response, 지시자, 액션태그  (0) 2018.10.20
Servlet 값 초기화, 리스너  (0) 2018.10.20
Servlet Get,Post 동작  (0) 2018.10.19
Servlet 설정, 예제  (0) 2018.10.18
▲ top