java 35

자바(java)/ Tip 1

1. 자바에서 메인(main) 에서드는 무조건 'static' 제한자. 프로그램 시작시, 객체 생성 없이 호출 위함 2. 자바는 클래스 import/ C#은 클래스 using으로 사용 3. 문자, 숫자 파싱 int a = 3; String str = Integer.toString(a); int b = Integer.parseInt(str); 4. 자바에서 파라미터에 [] 배열 형식이라면 직접 배열 전달x, 변수에 할당 후 사용해야함. func(int[] arr, int[][] arr2){}; int[] arr = {1,2,3}; int[][] arr2 = {{1,2,3},{4,5,6}}; func(arr, arr2); 5. 문자열 char배열로 만들기 Sgtring my_string; char[] cAr..

스프링(spring)/ War, Jar(package type)

1. **WAR 파일과 JAR 파일의 차이:** - **WAR (Web Archive):** 주로 웹 애플리케이션을 배포하는데 사용됩니다. 웹 관련 리소스 (JSP 파일, HTML, CSS 등)와 Java 클래스 파일, 라이브러리, 설정 파일 등을 포함합니다. WAR 파일은 서블릿 컨테이너(예: Apache Tomcat)에서 실행됩니다. - **JAR (Java Archive):** Java 클래스 파일, 라이브러리, 리소스 등을 포함하는 일반적인 자바 아카이브 형식입니다. 주로 독립형 애플리케이션을 배포할 때 사용됩니다. JAR 파일은 Java Virtual Machine (JVM)에서 직접 실행할 수 있습니다. 2. **WAR 파일 배포 문제:** 무료 프로그래밍 배포 사이트에서 Spring 프레임워..

스프링(spring)/ +더하기 1(검색 시스템과 알림 시스템)

1. 검색하는 방법에 대해 생각해보다가 검색은 한 번에, 출력은 원하는 것만 하는 것이 편해 보였다. 그래서 단순히 하나의 키워드로 데이터베이스 검색 시스템 다듬어 보자. 먼저 임포트 시킬 것들. 부트스트랩과 제이쿼리 그리고, 입력란과 버튼을 하나 만든다. 검색 그리고 자바스크립트로 버튼 행위 제어 document.getElementById("searchBtn").onclick = function() { let keyword = document.getElementsByName("key")[0].value; if (keyword.trim() === "") { return; } else { // 검색어가 입력된 경우 검색 기능 수행 let url = "/board/search?keyword=" + keywo..

스프링(spring)/ 회원 시스템 구축 4(암호화)

1. Spring Security를 사용하기에 먼저 pom.xml 설정을 해준다.(스프링 시큐리티) org.springframework.security spring-security-core 5.0.8.RELEASE org.springframework.security spring-security-web 5.0.8.RELEASE org.springframework.security spring-security-config 5.0.8.RELEASE 2. 보안 관련이라 컨테이너 관리 파일을 따로 만들어 사용했다. 기존의 servlet-context이 있는 폴더에(src/main/webapp/WEB_INF/spring/appServlet) spring-security.xml을 생성 후, 아래 코드를 추가한다. * ..

스프링(spring)/ 회원 시스템 구축 3(회원정보 수정 및 탈퇴)

0. 이번에는 뭔가 시작부터 매퍼에 코드를 추가 해놓고 시작해보자. 더 편할 것 같다. 어쨌든 회원 정보를 수정해서 데이터 처리 작업을 해야할 테니까. accountMapper.xml파일에 추가. UPDATE user SET pwd = #{pwd}, email = #{email} * 만들려는 프로젝트의 특성상 바꾸고 싶은 컬럼만 적었다. 1. 그럼 다음은 DAO와 Service를 먼저 설정해준다. UserDAO와 UserService파일에 아래 코드 추가 // 회원정보 수정 public void memberUpdate(UserVO vo)throws Exception; 그리고 UserDAOImpl파일에 아래 코드 추가 // 정보 수정 @Override public void memberUpdate(UserV..

스프링(spring)/ 회원 시스템 구축 2(로그인 페이지)

0. 로그인은 생각해보면 정보일치와 세션에 관해서 만져주면 될 것 같은 느낌이 든다. 먼저, account폴더에 login.jsp파일을 생성후, home.jsp에 로그인 링크를 하나 건다. 로그인 1. 먼저 세션(사용자 상태 유지 기능)을 사용해야 하기에 UserColtroller 파일부터 정리. 우선, 아래 기능들을 상단에 임포트 시킨다. import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import org.springframework.web.servlet.mvc.support.RedirectAttributes; *import javax.servlet.http.HttpServletRequest; imp..

스프링(spring)/ 회원 시스템 구축 1(회원가입 페이지)

0. 무엇보다 회원 데이터를 위해, 새로운 데이터 테이블을 생성 사용할 것이므로, 기존 BoderVO파일이 있는 패키지에, UserVO 파일 생성.(사용할 데이터베이스 테이블을 먼저 만들어 둔다.) package com.project.model; public class UserVO { private String id; // 유저 아이디 private String pwd; // 비밀번호 private String nick; // 닉네임 private String ncode; // 국가 private String email; // 이메일 private String text; // 추가 텍스트 private String channel; // 채널 정보 private int scount; // 카운트 정보 pr..

스프링(spring)/ 게시판 구축 5(좋아요 기능)

1. '좋아요'나 '하트' 등은 글을 읽는 페이지에서 구축하는 게 좋겠다고 생각해서, 조회 상세 링크 페이지에서 일단 시작한다. view.jsp파일에 수정과 삭제가 있는 div태그에 간단히 추가. 좋아요 좋아요 ${view.hcount} * heart라는 url요청을 사용. view모델 객체의 hcount 사용해서 즉각적으로 데이터를 보여주기 위함. 2. 삭제 기능처럼 클릭하면 바로 적용되니까, 따로 heart 뷰 파일은 패스하고 컨트롤러~ BoardController에 삭제기능 비슷하게 베끼면 된다. //좋아요 @RequestMapping(value = "/heart", method = RequestMethod.GET) public String getHeart(@RequestParam("idx") in..