JSP
-
MyWebSPRING 2022. 2. 18. 16:22
snsboard에 글 등록하기부터 진행했다 snsList.jsp에서 $(function() { //등록하기 버튼 클릭 이벤트 $('#uploadBtn').click(function() { regist(); }); //등록을 담당하는 함수 function regist() { //세션에서 현재 로그인 중인 사용자 정보(아이디)를 얻어옵니다. const user_id = '${sessionScope.login.userId}'; //자바스크립트의 파일 확장자 체크 검색합니다. let file = $('#file').val(); console.log(user_id); console.log(file); //.을 제거한 확장자만 얻어낸 후에 그것을 소문자로 일괄 변경합니다. file = file.slice(file...
-
mywebprojectSPRING 2022. 2. 11. 17:11
쌤과의 마지막 프로젝트라고 하네요! 이번 프로젝트에서는 일단 댓글 구현부터! 댓글을 구현할 게시판은 전과 동일하게 코드를 작성해 주고, 여러 세팅들을 만져준 다음, replyVO, IReplyService, IReplyMapper를 설정해 줍니다. package com.spring.myweb.reply.mapper; import java.util.List; import java.util.Map; import com.spring.myweb.command.ReplyVO; public interface IReplyMapper { void replyRegist(ReplyVO vo); //댓글 등록 List getList(Map data); //목록 요청 int getTotal(int bno);//댓글 개수 in..
-
springwebmvcprojectSPRING 2022. 2. 10. 14:45
자동로그인! 체크 박스까지 만들어서 시작해 볼까요~ //자동 로그인 쿠키값 DB저장 처리 //SQL => UPDATE void keepLogin(Map datas); //세션 아이디를 통한 회원 정보 조회 기능 /* 자동 로그인 하고 싶다는 사람에게 쿠키 (세션 id)를 주었습니다. 그리고 그 유저가 나중에 사이트에 다시 방문했다면, 서버에 다시 요청을 보낼 것이고, 요청과 함께 쿠키가 전달될 것입니다. 쿠키 안에 들어 있는 세션 id로 회원 정보를 조회해서 마치 이 사람이 로그인 중인 것처럼 세션 데이터를 만들어 주면 됩니다. (login이라는 세션 데이터 -> 로그인 중이라는 징표) */ UserVO getUserWithSessionId(String sessionId); 회원가입이 되는지 테스트! @..
-
springwebmvcprojectSPRING 2022. 2. 9. 22:29
//start jQuery $(function() { //각 입력값들의 유효성 검증을 위한 정규표현식을 변수로 선언. const getIdCheck = RegExp(/^[a-zA-Z0-9]{4,14}$/); const getPwCheck = RegExp(/([a-zA-Z0-9].*[!,@,#,$,%,^,&,*,?,_,~])|([!,@,#,$,%,^,&,*,?,_,~].*[a-zA-Z0-9])/); const getNameCheck = RegExp(/^[가-힣]+$/); //입력값 중 하나라도 만족하지 못한다면 회원가입 처리를 막기 위한 논리형 변수를 선언. let chk1 = false, chk2 = false, chk3 = false, chk4 = false; //회원 가입 시 사용자의 입력값을 검증하..
-
servletSERVLET 2021. 12. 17. 14:57
오늘은 EL(Expression Language)에 대해서 배웠다. -EL이란 JSP에서 저장객체를 출력할때 스크립팅을 전혀 쓰지 않을 수 있는 기술이다. -EL은 일종의 스크립트 언어로 자료 타입, 수치 연산자, 논리 연산자, 비교 연산자 등을 제공하며 표현식을 대체할 수 있다. 을 EL에서는 ${value} 로 나타낼 수 있다. 쌤 왈.. 뚝배기에 신경을 안 써줘서 편하다고..! JSTL(JSP standard tag library)는 기존의 jsp 경우, html 태그와 함께 사용되어 전체적인 코드의 가독성이 떨어지기 때문에 단점을 보완하고자 만들어진 것이다. jstl을 사용하면 자바의 제어문을 html 태그화 시킬 수 있다. 코어 라이브러리를 사용하기 위해 태그를 써야 하는데 를 반드시 써 줘야 ..
-
jdbcJDBC 2021. 12. 16. 14:30
오늘은 어제와 마찬가지로 실습을 했다. 회원의 회원가입 (아이디 중복 확인) -> 로그인 -> 마이페이지 -> 비밀번호 변경 -> 회원정보 수정 -> 회원 탈퇴 -> 로그아웃까지! 하나 더 알려주신 것은, finally를 적으면서 일일히 conn.close(); 등등을 적어주기 귀찮으니 # try with resource - try문을 작성할 때 자원 객체를 소괄호 안에 전달하면 try블록이 끝날 때, 자동으로 자원을 해제해 준다. - 자동으로 종료되는 자원은 반드시 AutoCloseable 인터페이스의 구현체여야 한다. 이것을 사용하라는 것이었다. 확실히 편했다. @Override public boolean confirmId(String id) { boolean flag = false; String s..
-
jdbcJDBC 2021. 12. 15. 11:54
어제 내용들을 정리하고, 오늘은 게시판! 인터페이스로 내가 만들 게시판에 어떤 것들을 구현할 건지 정리한다. 어제와 마찬가지로 BoardVO.java에 사용할 변수, 클래스 선언 후 overriding과 getter and setter를 해 준다. 그리고 BoardDAO로 이동해서 IBoardDAO를 interface 한다고 하면 IBoardDAO 에서 선언한 메소드들이 자동으로 주르륵 나온다. 코드의 양을 줄여보자고 쌤이 새로운 것을 알려주셨다. 바로, 커넥션 풀의 정보를 담을 변수를 선언하는 것이다. 이렇게! private DataSource ds; private BoardDAO() { //클래스에서 커넥션 풀을 구하는 방법 //변수 선언 -> initialContext의 힘을 빌려, 객체 생성, l..
-
jdbcJDBC 2021. 12. 14. 18:11
jdbc로 이동해서, 오늘은 학생들의 국영수 점수를 받는 페이지들을 만들었다. 기본 생성자(필수)와 모든 필드값을 매개값으로 받는 생성자(선택사항)를 하나씩 제작해 주었다. -> 자바빈 클래스 overriding과 getter and setter을 VO에서 다 해 주고, DAO는 웹 서버의 DB 연동 요청이 발생할 때마다 DataBase CRUD(create, read, update, delete)작업을 전담하는 클래스이다. - 일반적으로 jsp 혹은 servlet에서 유지보수 및 코드의 모듈화를 위해 별도의 DAO 클래스를 만들어 사용한다. 테이블로부터 데이터를 읽어와 자바 객체로 변환하거나 자바 객체의 값을 테이블에 저장한다. package kr.co.jsp.score.model; import jav..