Maven

  • 빌드, 패키징, 문서화, 테스트와 테스트 리포팅, git, 의존성관리, svn 등 손쉽게 할 수 있다.
  • 형상관리서버와 연동(SCMs), 배포 쉽게 가능
  • Coc (Converntion over Configuration)
    • 소스파일이 어느 위치에 있는 지를 미리 정함
  • 이점 : 직접 다운 받지 않아도 라이브러리 사용 가능
  • pom.xml
    <project xmlns="http://maven.apache.org/POM/4.0.0"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
        <modelVersion>4.0.0</modelVersion>
        <groupId>kr.or.connect</groupId>
        <artifactId>examples</artifactId>
        <packaging>jar</packaging>
        <version>1.0-SNAPSHOT</version>
        <name>mysample</name>
        <url>http://maven.apache.org</url>
        <dependencies>
            <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>3.8.1</version>
                <scope>test</scope>
            </dependency>
        </depend​
  • groupId : 프로젝트 생성하는 조직 고유 아이디
    • com.poscoict
  • artifactId : 고유 아이디
    • 빌드하면 파일이 [고유아이디]-[version].jar로 파일이 생김
  • dependency
    • dependencies : 필요한 라이브러리 지정함

 

jsp 실행 순서

서블릿

  • 자바 웹 어플리케이션의 구성 요소 중 동적인 처리하는 역할
  • was에서 동작하는 java 클래스
  • HttpServlet클래스를 상속 받아야 함

브라우저 동작

브라우저 기본 구조

  1. 사용자 인터페이스 
  2. 브라우저 엔진 - 브라우저 sw 실행
  3. 렌더링 엔진 - 위치, 색, 표시 (브라우저 마다 다름)
    • Html 파싱 (DOM트리 구축) 
    • 렌더 트리 구축
    • 렌더 트리 배치
    • 렌더 트리 그리기 
  4. networking - 통신, http와 같은 네트워크 호출에 사용, 각 플랫폼 하부에서 실행됨
  5. java script interpreter - 자바 스크립트 코드 해석
  6. ui backend 

파싱 

  • 토큰 단위로 잘라서 실행하는 것
  • 2 +  3 - 1이면 다 잘라서 실행하는 것
  • Html 파서 : make up = tree 구조
  • css 파싱 : selectors와 Declarations있음
    • selectors : p
    • Declarations : Margin-top 3px 예로 들 수 있다.

https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/

 

How Browsers Work: Behind the scenes of modern web browsers - HTML5 Rocks

In this comprehensive primer, you will learn what happens in the browser between when you type google.com in the address bar until you see the Google page on the browser screen.

www.html5rocks.com

 

웹 서버 동작

 

DBMS

  • 데이터 베이스 관리하는 sw
  • 보안이 나쁨
    • 다수의 사용자가 DB내에 접근할 수 있도록 함
    • 클라이언트 로직이 많으면 관리가 어려워짐

 

미들웨어

  • 비지니스 로직을 클라이언트와 DBMS사이의 미들웨어 서버에서 동작하게 만듦
  • 클라이언튼느 입출력만 담당

WAS

  • 미들웨어
  • 클라이언트 요청 중 웹 app이 동작하도록 지원
  • 웹 서버 기능 내장함
  • 규모가 커질 수록 웹 서버와 WAS 분리함
  • 웹서버는 WAS보다 더 간단하다.

[문제]

게시판 만들다가 댓글을 입력하고 새로고침을 하면 댓글이 한 개 더 재 등록이 되는 것이다!

form태그에 submit이 계속 되는 것이다. 

 

구글링 한 결과 

https://hulbo.tistory.com/13

 

javascript 새로고침 방지

JavaScript 새로고침 방지 웹 개발을 하다보면 저장후 또는 삭제등 목록이나 여러 부분에서 액션 수행후 새로고침(F5)으로 인해 고생하는 경우가 있다. 액션이나 DB로 해결할 수도 있지만 간단하게

hulbo.tistory.com

 

1번방법을 사용했더니 됐다!!

<script type="text/javascript">
    //새로 고침 시 재 등록 방지
    function notReload(){
      if((event.ctrlKey == true && (event.keyCode == 78 || event.keyCode == 82)) || (event.keyCode == 116) ){
        event.keyCode = 0;
        event.cancelBubble = true;
        event.returnValue = false;
        var frm = document.addForm;
        frm.action = "액션값";
        frm.submit();
      }
    }
    document.onkeydown = notReload;
</script>

 

'study > 웹 프로그래밍' 카테고리의 다른 글

[boostcource] 웹 백엔드 1  (0) 2022.01.18
[jsp] 뒤로가기 누를 시 새로고침  (0) 2022.01.10
starting Tomcat v9.0 Server at localhost  (0) 2021.12.27

[문제]

게시판 만들다가 뒤로가기를 누르면 조회수가 증가하지 않았다. 

구글 검색 결과 

https://chicpro.dev/%EB%AA%A8%EB%B0%94%EC%9D%BC-%EB%B8%8C%EB%9D%BC%EC%9A%B0%EC%A0%80%EC%97%90%EC%84%9C-back-%EB%B2%84%ED%8A%BC-%ED%81%B4%EB%A6%AD%EC%8B%9C-%ED%8E%98%EC%9D%B4%EC%A7%80-%EA%B0%95%EC%A0%9C-%EB%A6%AC%EB%A1%9C/

 

모바일 브라우저에서 Back 버튼 클릭시 페이지 강제 리로딩 하기 – CHICPRO

 

chicpro.dev

딱 나랑 맞는 분을 찾았다. 

 

[해결]

게시판 보여주는 view.jsp코드로 가서 

<script type="text/javascript">
	window.onpageshow =  function(event) {
	    //back 이벤트 일 경우
	    if (event.persisted) {
	    	document.location.reload();
	    }
	}
</script>

맨 앞에 추가해줬더니 됐다. 

starting Tomcat v9.0 Server at localhost


더블 클릭

 

tomcat admin port가 -가 되어있는 것을 알 수 있다. 


8005번으로 바꾸면 됨

 

+ Recent posts