회사 입사 후 JSP 서블릿과 오라클만 사용해게시판을 만들었다. 1년 6개월 정도만에 서블릿을 사용했다. 너무 오랜만이라 기억이 안나서다시 공부하면서 만들었다. 역시 뭘 하든 셋팅이제일 오래걸리고 힘들었다. 게시판 제작 첫 날은JDBC도 제대로 설정 못하고 퇴근했다.이클립스도 처음에 잘못 설치해서 삭제하고다시 다운받고..... 서블릿만 사용해 게시판을 만들어보며스프링과 마이바티스가 정말 개발을 할 때 편리하단걸느낄수 있었다. (원래 알고있었지만 이 일로 인해 직접적으로 느꼈다.) 난 처음 웹 개발 공부를 할 때자바-> 자바스크립트 -> 스프링+마이바티스 ->JSP 서블릿이 순서로 공부를 했다. 자바스크립트 공부를 하고 JSP도 제대로모르는데 그냥 바로 스프링으로 넘어갔다.원래대로라면 스프링 공부전에 JS..
데이터베이스에서 컬럼을 만들때 자바에서변수명이나 메소드명을 만들때처럼 2개이상의 영어단어를 조합하여 만들 때가 있다. 2개 3개 이상의 긴 영어단어로 만들게되면변수명이나 메소드명처럼 가독성이 떨어지게 되는데변수명과 메소드명을 만들때는 카멜케이스를 사용하면 되지만컬럼명은 카멜케이스로 만들수 없다. 그렇기 때문에 데이터베이스에서 컬럼명을 길게 만들어야 할 때 에는 언더바 _ 를 사용 하게 되는데 예를 들어 조회수 컬럼명을 만든다고 한다면 viewcnt로 만드는것이 아닌view_cnt로 만드는 것이다. 보통 데이터베이스의 값들을 jstl로 화면상에 뿌려줄때는VO를 통해 값을 뿌린다. 하지만 jsp 화면단에서 이 컬럼명으로 값을 불러 올수 없다. 그렇기 때문에 보통 스프링에서 언더바를 사용한 컬럼명을 사용해야할..
이번엔 Paging 을 구현 해보자. 페이징을 구현하기 위해선먼저 페이징 VO가 필요하다. 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354public class CmmnVO { private static final long serialVersionUID = 1L; /*rows : 현재 페이지에 보여질 row수 page : 현재 보여질 페이지 수 totalPage : 총 페이지 수 startPage : 시작페이지수 endPage : 끝 페이지 수 pageScale : 한 페이지에 보여질 페이지 수*/ private long rows = 2; private long page = ..
이번엔 동적테이블을 만들어서 체크박스를 이용해 체크된 항목의 값들만출력 시켜보겠다. 먼저 저번 포스팅처럼 버튼과 체크박스를 생성해준다. 다음 화면에서 체크된 값들만 출력시켜주기 위해jstl을 사용한다. 먼저 저번 포스팅에서 썼던 것 처럼체크박스들은 arr배열에 담기게 된다그리고 체크한 항목을 출력하기 위해 4line의 ${arr} 를 사용했다. 다음 해당하는 항목의 값들을 DB에서 뽑아오도록c:if문을 주어 arr값이 아이디 이면 DB에 있는id값을 가져올수 있도록 해준다. 123456789101112131415161718192021222324252627282930 ${arr} Colored by Color Scriptercs
체크박스를 이용해 체크된 값들을 컨트롤러로 보내고 값을 확인해보자. 먼저 화면단에 테스트를 할수있도록 체크박스를만들어 보자 난 부트스트랩을 이용하였다. 1234567891011121314151617181920 컨트롤러로 go Submit a b c Colored by Color Scriptercs 먼저 2line에서 form 태그에 id값으로 frmReq를 주었다그리고 welcomeWeb4.do로 action 시켜준다. 그럼 이제 컨트롤러를 보자 1234567@RequestMapping(value = "welcomeWeb4.do") public String initMain3(HttpServletRequest request, ModelMap model) throws Exception { String[] a..
이번엔 String으로 값 주고 받기를 해보겠습니다 이 방법은 단일 값만을 주고 받기 할때 효율적인 방법입니다@RequestParam은 int, string 들만 허용합니다 map같은 다른 객체형태는 받을수 없습니다.컨트롤러에서 @RequestParam 어노테이션을 이용해String 을 넣어주면 됩니다. 1234567@RequestMapping(value = "welcomeWeb3.do") public String initMain7(@RequestParam String hanq,ModelMap model) throws Exception { List welcomeWebList = welcomeWebService.selectWelcomeWebServiceList3(hanq); model.addAttribut..
이번엔 VO를 사용해 값을 주고받기 해보겠습니다. 그전에 jsp단에서 컨트롤러로 값을 보낼때아래와 같이 form 태그에 name="hanq" 와 value="한큐" 넣어줍니다 다음 컨트롤러 에서 아래와 같이ModelAttribute로 HanqVO를 호출해줍니다@ModelAttribute는 setter를 자동으로 호출 해줍니다. 1234567@RequestMapping(value = "welcomeWeb2.do") public String initMain6(@ModelAttribute HanqVO hanqVO, ModelMap model) throws Exception { List welcomeWebList = welcomeWebService.selectWelcomeWebServiceList2(hanqVO..
저번 포스팅에 이어서 이번엔 맵퍼를 생성해줍니다 1234@Mapper("welcomeWebMapper")public interface WelcomeWebMapper { List selectWelcomeWebServiceList()throws Exception;}Colored by Color Scriptercs 맵퍼또한 서비스처럼 인터페이스로 만듭니다.인터페이스 안의 함수는 DB에서 값을 가져오는 함수 입니다. 1234567891011@Service("welcomeWebService")public class WelcomeWebServiceImpl extends EgovAbstractServiceImpl implements WelcomeWebService { @Resource(name="welcomeWebM..
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.