jsoup

프로젝트 2014. 11. 21. 17:26


jsoup-1.8.1.jar


jsoup-1.8.1-javadoc.jar



jsoup-1.8.1.jar은 라이브러리 그냥 추가하면되고


javadoc은 압축풀면 indexAll.html 실행해서 오버뷰로 바꾸면 보기편함


'프로젝트' 카테고리의 다른 글

웹크롤러.exe 와 실행영상  (0) 2014.11.27
자바 키워드 검색후 검색결과 링크추출  (0) 2014.10.21
Matcher 메서드 사용방법과 그룹 개념이해  (0) 2014.09.29
URL 긁어 오기  (0) 2014.09.26
Http 헤더 정리  (0) 2014.09.23
블로그 이미지

왕왕왕왕

,

먼저 다음 페이지 이동 특성들을 미리 알아볼 필요가 있습니다

JSP에서는 페이지 이동시 다음 4가지 정도의 방법이 있습니다

 

 JavaScript를 이용

window.open, location.href, location.replace 등을 이용할수 있습니다

 

login_process.jsp

<% if (a == null) { %>

      <script>location.href = "admin.jsp"; </script>

<% } else { %>

      <script>alert('권한이 없어요!'); window.history.back(); </script>

<% } %>

         

특징적인부분은 브라우져의 주소창이 변경되며

(이말은 즉슨 클라이언트가 다시 admin.jsp를 서버에 요청한다는 말입니다)

login_process.jsp 에서 jsp가 다 실행되고 브라우져에 out put된 html 및 javascript들만으로

실행된 코드들이라는 것입니다

 

② response.sendRedirect를 이용

login_process.jsp

<% if (a == null) {

          response.sendRedirect("admin.jsp");

     } else {

          response.sendRedirect("login.jsp");

     }

 

     a = "test 입니다";

     System.out.println(a);

%>

 

이 코드에서 a가 출력될까요 안될까요?

출력 됩니다.

sendRedirect가 되더라도 밑에 jsp 코드들은 모두 실행 된다는 말입니다

response.sendRedirect는 기본적으로 모든 로직들을 다 처리한 후 코드 맨 마지막 부분에

사용하는 것이 올바른 방법입니다

만약 그렇지 못한 경우는 response.sendRedirect 다음 바로 return; 이라는 코드를 집어 넣어야 합니다

 

response.sendRedirect은 HTTP 헤더정보를 변경하여 redirect시키기 때문에 역시 브라우져의 주소창이 변경되며 sendRedirect가 실행되기전 html이나 javascript로 out put되는 코드들은 모두 실행되지 않습니다.

 

③ forward 이용

jsp 태그의 <jsp:forward> 나 servlet의 RequestDispatcher.forward 를 이용할수 있습니다

 

login_process.jsp

<% if (a == null) { %>

          <jsp:forward page="admin.jsp"/>

<% } else { %>

          <jsp:forward page="login.jsp"/>

<% }

 

     a = "test 입니다";

     System.out.println(a);

%>

 

그럼 위의 코드의 경우 a가 출력 될까요 안될까요?

정답은 출력 안됩니다. 바로 forward 되어 버립니다.

클라이언트로 응답주지 않고 바로 서버측에서 admin.jsp로 이동하기 때문에

주소창이 바뀌지 않고 그로인해 브라우져에 출력되는 응답속도 또한 사용자가 보기에는

응답이 빠른 장점이 있습니다

 

하지만 forward 이후 JSP 코드들이 실행되지 않는것 사실이지만 만약 finally절이 있는경우

finally절은 실행 됨으로 확실히 알아둡시다.

 

④ meta 태그 이용

마지막으로 meta 태그를 이용할 수도 있습니다.

 

<META http-equiv=refresh content="0;url=admin.jsp">

 

즉 요약하자면..

페이지 이동 방법이 여러가지가 있습니다.

그 특성들을 잘 알고 올바르게 사용하여야 합니다.

'JAVA > JSP' 카테고리의 다른 글

JSP 구구단예제  (0) 2015.08.12
JSP Forward,Param  (0) 2015.08.12
JSP 액션 Include,param  (0) 2015.08.12
JSP include 지시어  (0) 2015.08.12
Jsp 주석테스트  (0) 2015.08.12
블로그 이미지

왕왕왕왕

,

package ds;


import java.io.IOException;

import java.net.URLEncoder;


import org.jsoup.*;

import org.jsoup.nodes.Document;

import org.jsoup.nodes.Element;

import org.jsoup.select.Elements;



public class test

 {

 

  public static void main(String[] args)

   {

    // TODO Auto-generated method stubI



    try

     {

      String str = "한글";

      String utf8= URLEncoder.encode(str,"UTF-8");//쿼리문에들어갈 한글인코딩

      String url = "http://search.naver.com/search.naver?where=nexearch&query="+utf8+"&display=10&start=1&target=webkr&sm=top_hty&fbm=1&ie=utf8";

&display=10&start=1&target=webkr 

      Document doc = Jsoup

        .connect(url)

        .header(  //헤더

          "Accept",

          "image/gif, image/xxbitmap, image/jpeg, image/pjpeg,application/xshockwaveflash, application/vnd.msexcel,application/vnd.mspowerpoint, application/msword, */*").get();

     

      Elements links = doc.getElementsByTag("a");  //a태그 몽땅

      for (Element link : links)

       {

        System.out.println(link.text());  //a태그에 텍스트

        System.out.println(link.attr("abs:href")); //a태그 속성 href값

       }


     } catch (IOException e)

     {

      // TODO Auto-generated catch block

      e.printStackTrace();

     }


   }


 }

이렇게하면 현재 페이지에 모든 HTML 문서를 가져와서 파싱 할 수 있고, 
브라우저를 통하지않고 검색해서 결과를 얻을 수 있다. 아직 진행중


'프로젝트' 카테고리의 다른 글

웹크롤러.exe 와 실행영상  (0) 2014.11.27
jsoup  (0) 2014.11.21
Matcher 메서드 사용방법과 그룹 개념이해  (0) 2014.09.29
URL 긁어 오기  (0) 2014.09.26
Http 헤더 정리  (0) 2014.09.23
블로그 이미지

왕왕왕왕

,

PowerMockup!!

2014. 10. 9. 21:15

http://www.powermockup.com/ 사이트로 이동해서 

Download free trial 버튼을 눌러서 프리버전을 다운받는다.


1. 목업설치 완료 후 ppt를 종료후 실행하면 powermockup 로드한다.

파워포인트 메뉴바에 아이콘이 뜨게 된다.



2.add버튼을 누르면 라이브러리창이 나오고 드래그하여 옮기면 손쉽게 삽입 /수정할 수 있다.

나 처럼 포스팅한다음에 울프라는 관리자에게 포스팅위치와 라이센스를 달라는 편지를 보내면 3~5시간 내에 확인후에 라이센스를 준다 적용하면 모든기능을 사용할 수 있다.

'' 카테고리의 다른 글

sds  (0) 2014.12.09
노트북 유선랜으로 핫스팟만들기  (0) 2014.12.06
톰캣 서버 충돌 시  (0) 2014.09.29
자바 한글번역된 새로운 API 찾음...ㅋ  (3) 2014.09.20
ppt만들때 도움되는 사이트 모음  (2) 2014.09.06
블로그 이미지

왕왕왕왕

,

<!DOCTYPE html>

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

<script type="text/javascript">

function show() {

var str = form1.edt.value;

var mywindow = window.open("", "", "width=200, height = 300");

mywindow.document.write(str);


}

function Clear(){

form1.edt.value = "";

}


</script>

</head>

<body>

<form name="form1">

<input type="button" value="웹브라우저로 보기" onclick="show()"> <input

type="button" value="새 문서" onclick="Clear()"> <input

type="reset" value="새 HTML작성"></br>

<textarea rows="10" cols="50" name="edt">

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

</head>

<body>

<h1>첫번째 문서</h1>

</body>

</html>


</textarea>

</form>

</body>

</html>

블로그 이미지

왕왕왕왕

,

<!DOCTYPE html>

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

</head>

<body>

<script type="text/javascript">

document.fgColor = "blue";

document.bgColor = "pink";

document.linkColor = "black";

document.vlinkColor = "yellow";

document.alinkColor = "red";

document.write("<h3>title : "+document.title+"</br></br>" );

document.write("fgColor : "+document.fgColor+"</br></br>" );

document.write("bgColor : "+document.bgColor+"</br></br>" );

document.write("linkColor : "+document.linkColor+"</br></br>" );

document.write("vlinkColor : "+document.vlinkColor+"</br></br>" );

document.write("alinkColor : "+document.alinkColor+"</br></br>" );

document.write("홈페이지 마지막갱신일 : "+document.lastModified+"</br></br>" );

document.write("URL주소 : "+document.URL+"</br></br>" );

</script>

</body>

</html>

블로그 이미지

왕왕왕왕

,

<!DOCTYPE html>

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

</head>

<script type="text/javascript">

function textUpper(){

var str = fn.text1.value;

fn.text2.value = str.toUpperCase();

}

</script>

<body>

<form name = "fn">

<table bgcolor="yellow" border="1" width="50%" align="center">

<tr>

<td align="center">소문자입력 :</td>

<td><input type="text" name="text1"><input

type="button" name="text1Btn" value="변환하기" onclick="textUpper()"></td>

</tr>

<tr>

<td align="center">변환 대문자 출력 :</td>

<td><input type="text" name="text2" size="30"></td>

</tr>

<tr>

<td colspan="2" align="center">소문자로 데이터를 입력하세요 -> 대문자로 변경됩니다.</td>

</tr>

</table>

</form>

</body>

</html>

블로그 이미지

왕왕왕왕

,

<!DOCTYPE html>

<html>

<head>

<meta charset="EUC-KR">

<title>Insert title here</title>

<style>

input {

width: 200px;

background-color: gray;

}

</style>

</head>

<body>

<table align="center">

<tr>

<td><input type="button" value="첫번째버튼"

onmouseover="yellowBtn(this)" onmouseout="grayBtn(this)"></td>

</tr>


</table>

</br>

</br>

</br>

<table align="center">

<tr>

<td><input type="button" value="두번째버튼"

onmouseover="redBtn(this)" onmouseout="grayBtn(this)"></td>

</tr>


</table>

<script type="text/javascript">

function yellowBtn(e) {

e.style.background = "yellow";

}

function redBtn(e) {

e.style.background = "red";

}

function grayBtn(e) {

e.style.background = "gray";

}

</script>


</body>

</html>

블로그 이미지

왕왕왕왕

,