Post

p2p 펀다 후기

[ Life ] 2018. 10. 23. 21:59
반응형

p2p 펀다 후기


요즘 p2p 업체가 많이 생겨나고 있습니다

와디*, 테라펀*, 피플펀* 등...

p2p는 많지만 영화도 잘 모르고 부동산도 모르고, 개인간의 거래는 더욱 모르고..

안전하고 알기쉬운 p2p 재태크 없을까 고민됩니다


몇 일 p2p 사이트를 찾은 결과..

 자영업자와 투자자를 이어주는 p2p 펀다를 알게되었습니다.


자영업자가 돈을 빌리기 위해 투자를 모집하는 건데

가게 1년치 매출을 알 수 있어서 정보가 투명하다고 느낍니다.

또 세이프 플랜 으로 안전창치가 있다고 느껴지구요

(개인투자자가 손실 시 세이프 플랜 금액이 떨어질 때 까지 일부 차액을 돌려받을 수 있는 플랜)


물론 세이프 플랜이 있어도 원금손실이 있습니다!!!!





펀다 메인 화면입니다.

투자할 수 있는 가게의 목록들이 보입니다.

펀다 등급은 펀다 자체적으로 가게에 대한 등급을 매긴 것 입니다.

저는 안전하게 투자하기 위해 상환기간 3개월만 투자합니다.

1개월, 2개월 뒤도 모르는데 반년, 1년 이상 투자하기는 두렵더라구요.

3개월은 연수익률이 낮아도 연체의 두렵움이 적다고 생각합니다.


 



마음에 드는 가게가 있으면 '상세보기'를 클릭해서

좀 더 자세한 정보를 알 수 있습니다.

여기서 내가 투자하려는 가게 매출을 잘 확인해야합니다.

대출하려는 금액이 매출액에 비해서 무리한 것 아닌지,

대출금을 몇개월 만에 갚을 수 있을지 잘 따져봅시다.

( 저 매출금에서 가게 평수, 지리적 위치를 짐작해서 월세, 전기세, 인건비 등.. 을 다 따져봐야 합니다. )





펀다의 장점은 '카드매출 담보'에 있습니다.

가게에서 카트 매출이 나면 일정부분 펀다 지정통장? 으로 들어간다는 것입니다.

자영업자가 나쁜 마음을 먹고 돈을 빼돌린다던가..

그런일을 최소화 해주는 장치같아서 마음에 듭니다.





저의 투자 내역입니다.

3개의 가게 전부 3개월 투자이고, 각 1, 2, 3만원으로 소액투자 했습니다^^;;

아직 2회차이고 연체되는 경우는 없었습니다.

만약 여기서 연체가 일어나지 않는다면 투자 금액을 늘릴 생각입니다.




저의 실질 수익률은 8.71% 입니다

제가 3개월 정도의 단기 상품에만 투자하였기 때문에 수익률을 낮은 편입니다.

6만원 투자인데 8%면 얼마야? 궁금하신 분들이 있을 것 같습니다.

대략 500원 정도 아닐까 생각하고 있습니다.

이번 투자가 성공하면 100만원 투자를 해볼까 생각중입니다

(그래봤자 7천원 정도의 이익입니다^^;;)


그리고 펀다가 최근에 투자 수수료도 떼기 시작했습니다.

저는 수수료 생기기전에 투자했는데 이점 참고해주세요.


그럼 3개월 차에 펀다 투자 완료 후기로 찾아뵙겠습니다^^








반응형

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

반응형

18.10.20_TIL


오늘 한 일


  • JSP Cookie, Session, 예외페이지, 자바빈
  • 알고리즘 문제 풀이(SwapFunction 만들기)

오늘 느낀 점


  • markdown 문법이 틀려서 적용안되는 걸 확인했고 수정했다.

내일 할 일 (계획)


  • git + hexo 찾아보자
  • JSP 공부하기
  • 알고리즘 문제 풀이


반응형

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

2018.12.11_ TIL  (0) 2018.12.12
2018.12.10_TIL  (0) 2018.12.10
2018.12.08_TIL  (0) 2018.12.08
2018.12.07_TIL  (0) 2018.12.08
18.10.20_TIL  (0) 2018.10.20
18.10.19_TIL  (0) 2018.10.19
18.10.18_TIL  (0) 2018.10.18
18.10.17_TIL  (0) 2018.10.17

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

반응형

18.10.20_TIL


오늘 한 일


  • JSP 태그, 요청, 응답 처리, 지시자 공부
  • 알고리즘 문제 풀이(Max, Min value 찾기, 배열 중 가장 큰 값 찾기)

오늘 느낀 점


  • 알고리즘 문제 풀이를 git에 올렸는데 markdown 문법을 썼지만 적용이 안되고 있다. 찾아볼 것
  • JSP 정리하면서 블로그에 글 올릴 때 너무 팔아프다.. 얼른 git 블로그 생성하는 법 찾자.
  • 알고리즘 문제풀이 하루에 1~2문제씩 하자.

내일 할 일 (계획)


  • git + hexo 찾아보자
  • JSP 공부하기
  • 알고리즘 문제 풀이


반응형

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

2018.12.10_TIL  (0) 2018.12.10
2018.12.08_TIL  (0) 2018.12.08
2018.12.07_TIL  (0) 2018.12.08
18.10.21_TIL  (0) 2018.10.21
18.10.19_TIL  (0) 2018.10.19
18.10.18_TIL  (0) 2018.10.18
18.10.17_TIL  (0) 2018.10.17
18.10.16_TIL  (0) 2018.10.16

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 실습

오늘 느낀 점


  • git 블로그 찾아볼 것

내일 할 일 (계획)


  • git 블로그 생성하기
  • JSP 공부하기


반응형

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

2018.12.08_TIL  (0) 2018.12.08
2018.12.07_TIL  (0) 2018.12.08
18.10.21_TIL  (0) 2018.10.21
18.10.20_TIL  (0) 2018.10.20
18.10.18_TIL  (0) 2018.10.18
18.10.17_TIL  (0) 2018.10.17
18.10.16_TIL  (0) 2018.10.16
TIL(Today I Learn) 시작  (0) 2018.10.15

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

반응형

오늘 한 일


  • JSP, Servlet 기초 예제 들음
  • to-do-list add 버튼 클릭 시 아이템 추가

오늘 느낀 점


  • 검색하다가 javascript에 클로저, 이벤트 위임이라는게 있다는걸 알았다. 내 홈페이지 수정 좀 해야할 듯..
  • gitpage + jekyll 이나 hexo로 블로그 만들고 싶다

내일 할 일 (계획)


  • git 블로그 생성하기
  • JSP 공부하기


반응형

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

2018.12.08_TIL  (0) 2018.12.08
2018.12.07_TIL  (0) 2018.12.08
18.10.21_TIL  (0) 2018.10.21
18.10.20_TIL  (0) 2018.10.20
18.10.19_TIL  (0) 2018.10.19
18.10.17_TIL  (0) 2018.10.17
18.10.16_TIL  (0) 2018.10.16
TIL(Today I Learn) 시작  (0) 2018.10.15
▲ top