#2018.12.17 개발일지
1.
지난 시간은 간단한 Javascript 구문을 통한 입력폼 값 유효성 검증을 진행
오늘은 write.jsp에서 보낸 값을 index.jsp 에서 받아서 리스트로 표현 할 예정
오늘은 유효성 검증이 끝난 데이터의 form을 Post 방식으로 JSP 페이지에 전송 (서버 측에서의 유효성 검증과 출력)
2. 게시판 만들기 Summary
- [본격 게시판짜기 Part1.4 - HTML-> JSP] form 파라미터 받기 의 글을 바탕으로 개인적으로 공부한 내용을 요약했습니다.
1) <% %>, <%= %>를 이용한 게시판 표현
① <% %> 스크립트릿 태그: 자바 코드를 적어 넣을 수 있는 역할을 하는 태그
2) 1)을 사용하여 게시판 표현 (feat. 하드코딩)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <!-- 스크립트릿을 열고 변수 선언 --> <% int idx = 1; int count = 10000; String title = "제목란"; String writer = "작성자"; String regdate = "18-12-17"; %> <body> <h1>게시글 리스트</h1> <table> <tr> <!-- tr: 행 --> <th>번호</th> <!-- th: 테이블에서 강조하고 싶은 것은 th --> <th>제목</th> <th>작성자</th> <th>날짜</th> <th>조회수</th> </tr> <tr> <td><%=idx %></td> <!-- td: 열 --> <td><%=title %></td> <td><%=writer %></td> <td><%=regdate %></td> <td><%=count %></td> </tr> </table> <a href="write.jsp">글쓰기</a> </body> | cs |
3) HttpServeletRequest 객체를 사용하여 데이터 받기
- HttpServeletRequest: http의 요청(=웹 요청)을 Servlet에서 받아서 처리하기 위해 사용하는 객체
(Servlet은 또 뭐니.../ 자세한 내용은 따로 알아보시오..)
- 사용방법
1 | request.getParameter("form에서 넘긴 name"); | cs |
- index.html에 해당 코드 넣고 실행해보면 null 값 투성이.
왜? write.jsp에서 데이터 보내준적 없기 때문!
글쓰기(write.jsp) 페이지에서 데이터 입력 후, submit 버튼 누르면 데이터가 게시 될 것이다.
- write.jsp 에서 데이터 보내준 후
- 한글깨짐 현상은 스크립트릿 최상단에 하기 코드를 한줄 추가하면 된다.
request.setCharacterEncoding("euc-kr");
* jsp 최상단에 하기 구문 추가
<%@page import="java.util.regex.Pattern"%>
* 스크립트릿 안쪽, 파라미터를 받은 직후에 유효성 검사 코드를 추가
- 소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | <%@page import="java.util.regex.Pattern"%> <!-- 생략.. --> <% request.setCharacterEncoding("euc-kr"); // 한글 깨질 때, 추가 int idx = 1; int count = 10000; String title = request.getParameter("title"); String writer = request.getParameter("writer"); String regdate = request.getParameter("regdate"); String content = request.getParameter("content"); if(title == "" ||title == null) out.println("title이 null입니다."); if(writer == "" ||writer == null) out.println("writer가 null입니다."); else if(!Pattern.matches("^[_0-9a-zA-Z-]+@[0-9a-zA-Z-]+(.[_0-9a-zA-Z-]+)*$", writer)) out.println("이메일 형식이 아닙니다."); if(regdate == "" ||regdate == null) out.println("regdate가 null입니다."); else if(!Pattern.matches("^[0-9]*$", regdate)) out.println("숫자형식이 아닙니다."); if(content == "" ||content == null) out.println("content가 null입니다."); %> <body> <h1>게시글 리스트</h1> <table> <tr> <!-- tr: 행 --> <th>번호</th> <!-- th: 테이블에서 강조하고 싶은 것은 th --> <th>제목</th> <th>작성자</th> <th>날짜</th> <th>조회수</th> </tr> <tr> <td><%=idx %></td> <!-- td: 열 --> <td><%=title %></td> <td><%=writer %></td> <td><%=regdate %></td> <td><%=count %></td> </tr> </table> <a href="write.jsp">글쓰기</a> </body> | cs |
+ DB 연결 된 게시판이 아니기 때문에, 새로고침하면 데이터 사라짐
즉, 그냥 로컬에서 일시적으로 혼자 가지고 있는 데이터임.
DB를 통해 write.jsp에서 작성한 글을 저장해주고, index.jsp로 불러주는 과정이 필요.
'개발 이야기 > 개발일지' 카테고리의 다른 글
2018.12.15 개발일지 (0) | 2018.12.15 |
---|---|
2018.12.13 개발일지 (0) | 2018.12.13 |