전체 글(58)
-
스프링 인터셉터로 권한체크
로그인해야만 접근하도록 만든 페이지를 url만 알면 접근 되는 이슈 발생 이 때 필요한 것이 인터셉터 해당 컨트롤러가 실행되기 전(preHandle)과, 실행된 후(postHandle)에 실행할 내용 작성이 가능 아래는 현재 유저가 아무나 접근이 불가한 페이지에 부적절한 방법으로 접근하는 것을 방지하도록 인터셉터 이용 ture를 리턴할 시에 기존 요청 흐름대로 해당 컨트롤러 실행 false를 리턴할 시 컨트롤러 실행x public class LoginInterceptor extends HandlerInterceptorAdapter { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Obj..
2022.01.27 -
ajax vo객체 한 행/여러 행 조회, json을 gson으로
@vo public class Member { private String userId; private String userPwd; private String userName; private int age; private String phone; **ajax 응답데이터가 vo객체 한 행 조회일 때 @jsp 조회할 회원번호 입력 : 조회 @Controller @ResponseBody @RequestMapping(value="ajax2.do", produces="application/json; charset=UTF-8") public String ajaxMethod2(int num) { // Member m = mService.selectMember(num); // 원래는 이렇게 DB까지 갔다와야하는데 // ..
2022.01.25 -
스프링 ajax 사용법 (응답데이터 하나/다수일경우)
ajax로 값 전달하고 응답 결과 받기 ** 응답데이터가 하나일 경우 @jsp 이름 : 나이 : 전송 @Controller @RequestMapping("ajax1.do") public void ajaxMethod1(String name, int age, HttpServletResponse response) throws IOException { // 요청처리가 다 됐다는 가정하에 데이터 응답 /* response.setContentType("text/html; charset=UTF-8"); response.getWriter().print(name); response.getWriter().print(age); // 다수의 출력데이터가 하나의 문자열로 연이어져 출력 != 다수의 데이터 따로 출력 */ // ..
2022.01.25 -
스프링 첨부파일 업로드
첨부파일이 넘어올 경우 두 단계를 거쳐 1서버의 어떤 폴더에 직접적으로 저장 2db에도 저장 파일 자체를 넘길 시 enctype을 지정해야 함 enctype="multipart/form-data" 지정하지 않으면 파일명 즉 문자열만 넘어감 먼저 mvn리파지토리에서 commons-fileupload검색 후 Apache Commons FileUpload와 Apache Commons IO 디펜던시 복사 pom.xml에 디벤던시즈 안에 붙여넣기 스프링에서 제공하는 클래스라서 직접 수정 불가 어노테이션등록이 불가함으로 xml으로 등록 용량제한값을 무제한으로 줄 수 있는데 100메가로 설정 maxUploadSize, maxInMemorySize를 작성해서 용량제한값 설정. 밸류에는 바이트크기로 작성. @vo @No..
2022.01.24 -
비밀번호 암호화(Bcrypt방식)로 회원가입, 로그인 작업
회원의 비밀번호 그 자체(평문)가 DB에 보관되면 x 비밀번호 저장 암호화작업을 통해서 어려운 암호문으로 보관 평문에서 암호문으로 작업하는 것이 암호화 반대는 복호화 예전에는 비밀번호가 복호화가 가능. 복호화는 암호문으로 평문 유추가 가능하기 때문에 비밀번호찾기 할 때 입력했던 비밀번호를 그대로 알려줌 해독이 가능한 암호화는 보안문제로 정책이 바뀜. 복호화가 가능한 암호화방식 쓰지마 해독이 안 되는, 오직 암호화만 가능한 암호만 써 그 때부터 사이트 비밀번호찾기에서는 기존에 썼던 비밀번호를 알려주는 것이 아닌 새로운 비밀번호로 변경유도 오직 암호화만 가능한 방식을 SHA방식, 단방향 암호화 방식이라 함 그런데 이것마저 보안이 뚫림 SHA방식은 암호문이 정해져있기 때문에 샘플자료가 많아지면 암호화만으로 평..
2022.01.17 -
Lombok 롬복 설치
getter/setter메소드와 toString 코드를 내부적으로 추가해주어 코드를 줄일 수 있는 라이브러리 메이븐레파지토리사이트에서 lombok 검색 후 대충 유세이지스 높은 걸로 pom.xml에 복붙 후 저장 패키지 익스플로러 탭에 메이븐 디펜던시즈폴더에 롬복 설치 확인 후 롬복파일이 있는 경로 찾아가기 lombok 압축 jar파일 실행 압축파일이 알집인 경우 바로 실행 불가 압축파일 기본프로그램이 알집일 경우 cmd창 열어서 cd 롬복 jar파일 경로 엔터 java -jar 롬복 jar파일 이름 엔터 강제로 실행 로딩 인스톨/업데이트 클릭 설치완료 그리고 IDE 재실행 후 롬복 어노테이션으로 롬복 사용하면 패키지익스플로러 탭에서 해당 클래스에 자동으로 메소드 완성된 것 확인가능 @NoArgsCons..
2022.01.15 -
스프링 한글 깨짐 현상 인코딩 작업 (UTF-8)
spring encoding(UTF-8) web.xml에 encodingFilter구문 추가 encodingFilter org.springframework.web.filter.CharacterEncodingFilter encoding UTF-8 encodingFilter /*
2022.01.14 -
스프링 컨트롤러에서 파라미터 받는 여러 방법
로그인 할 때 컨트롤러로 넘어가는 키 값은 id와 pwd ID : Password: 로그인 취소 // 1. HttpServletRequest를 이용해서 전달받는 방법 // 파라미터에 HttpServletRequest를 기술해야 함 @RequestMapping("login.me") public String loginMember(HttpServletRequest request) { String userId = request.getParameter("id"); String userPwd = request.getParameter("pwd"); System.out.println("ID : " + userId); System.out.println("PWD : " + userPwd); return "main"; } ..
2022.01.14 -
스프링에게 주도권 부여하기 위해 bean등록
xml설정파일로 등록하는 방법 직접 만든 클래스가 아닐 경우 직접 수정이 불가함으로 xml설정파일로 bean등록 서버를 실행할 때 제일 먼저 읽혀지는 web.xml파일 그 안에 context-param태그도 곧바로 읽혀짐 서버 구동과 동시에 곧바로 읽혀질 문서를 여기에 기술. root-context.xml는 기본적으로 작성되어있음 이 root-context.xml에 bean을 등록 주로 db연결 설정, 트랜잭션 처리, 내외부 모듈연동 등 ... destory-method="close"> 알아서 자원반납해달라는 것. bean태그 내에 property태그에는 뭘 기술하냐 BasicDataSource클래스에 필드(driverClassName, url, username, password)가 있고 그 필드에 밸류..
2022.01.13