[Spring] - (2)
2022. 10. 9. 12:53ㆍDev.Program/Java & Spring
728x90
< MemController.java >
@RequestMapping(value = "/insert", method = RequestMethod.POST) public String insertPost() { logger.info("Welcome insertPost!"); System.out.println("회원가입 성공"); return "redirect:login"; } @RequestMapping(value = "/login", method = RequestMethod.GET) public String login() { logger.info("Welcome loginForm!"); return "loginForm"; } |
- 저번시간 이어서 추가!
- insertForm 에서
- login.jsp 로 넘어감! (대신 주소는 login 가지고!)
>
// login POST 방식
// 로그인처리
// main.jsp
// main GET main.jsp 이동
======== views 폴더에 main.jsp 만들기
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>WebContent/member/main.jsp</h1> <% String id=(String)session.getAttribute("id"); // 세션값 null이면 세션값이 없으면 // loginForm.jsp 이동 if(id==null){ // response.sendRedirect("loginForm.jsp"); } %> <%=id%>님 로그인 하셨습니다. <input type="button" value="로그아웃" onclick="location.href='logout.jsp'"><br> <a href="info.jsp">회원정보조회</a><br> <a href="updateForm.jsp">회원정보수정</a><br> <a href="deleteForm.jsp">회원정보삭제</a><br> <% // 임의로 admin을 관리자로 설정 // 세션값이 있으면 // 세션값이 "admin"같으면 회원목록이 보이게 설정 if(id!=null){ if(id.equals("admin")){ %><a href="list.jsp">회원목록</a><br><% } } %> </body> </html> |
< MemController.java >
@RequestMapping(value = "/login", method = RequestMethod.POST) public String loginPro() { logger.info("Welcome loginPro!"); System.out.println("로그인 성공"); return "redirect:main"; } @RequestMapping(value = "/main", method = RequestMethod.GET) public String main() { logger.info("Welcome main!"); return "main"; } |
- 추가
> 실행해서 로그인 눌렀을 때
- 메인이 보이면 됨!
< main.jsp >
- a 태그 고쳐주기
- 하이퍼링크는 전부 GET 방식! (form 태그만 POST 방식!)
< MemController.java >
@RequestMapping(value = "/info", method = RequestMethod.GET) public String info() { // 데이터 가져오기 return "info"; } @RequestMapping(value = "/update", method = RequestMethod.GET) public String update() { // 수정할 데이터 가져오기 return "updateForm"; } @RequestMapping(value = "/update", method = RequestMethod.POST) public String updatePost() { System.out.println("수정처리"); return "redirect:main"; } @RequestMapping(value = "/delete", method = RequestMethod.GET) public String delete() { return "deleteForm"; } @RequestMapping(value = "/delete", method = RequestMethod.POST) public String deletePost() { System.out.println("삭제처리"); return "redirect:main"; } |
- 추가
======== views 폴더에 info.jsp / deleteForm.jsp / updateForm.jsp 만들기
- 만들기
< info.jsp >
<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% // session 가져와서 변수에 저장 //패키지 member 파일이름 MemberDAO 리턴할형MemberBean getMember(아이디) 메서드 만들기 //MemberDAO 객체생성 //MemberBean mb = getMember(아이디) 호출 %> 아이디:<br> 비밀번호:<br> 이름:<br> 가입날짜:<br> <a href="./main">메인화면</a> </body> </html> |
< deleteForm.jsp >
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% // 세션값 가져오기 %> <form action="./delete" method="post"> 아이디: <input type="text" name="id" value=" " readonly><br> 비밀번호: <input type="password" name="pass"><br> <input type="submit" value="회원정보삭제"> </form> </body> </html> |
< updateForm.jsp >
<%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <% // 세션값 가져오기 //패키지 member 파일이름 MemberDAO //MemberDAO 객체생성 //MemberBean mb = getMember(아이디) 호출 %> <form action="./update" method="post"> 아이디: <input type="text" name="id" value=" " readonly><br> 비밀번호: <input type="password" name="pass"><br> 수정할 이름:<input type="text" name="name" value=" "><br> <input type="submit" value="회원정보수정"> </form> </body> </html> |
- 메인에서 시작!
> 회원정보조회 클릭시
> 회원정보수정
> 회원정보삭제
> 회원목록보기
======== list.jsp
<%@page import="java.util.List"%> <%@page import="java.sql.ResultSet"%> <%@page import="java.sql.PreparedStatement"%> <%@page import="java.sql.DriverManager"%> <%@page import="java.sql.Connection"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <h1>WebContent/member/list.jsp</h1> <table border="1"> <!-- <tr><td>아이디</td><td>비밀번호</td><td>이름</td><td>가입날짜</td></tr> --> <% // 배열 크기 memberList.size() %> </table> </body> </html> |
< MemController.java >
@RequestMapping(value = "/list", method = RequestMethod.GET) public String list(){ logger.info("Welcome list!"); return "list"; } |
- 추가
주소값 확인!
======== com.itwillbs.domain 패키지 만들기
======== MemberBean.java 만들기
package com.itwillbs.domain; import java.sql.Timestamp; public class MemberBean { private String id; private String pass; private String name; private Timestamp reg_date; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getPass() { return pass; } public void setPass(String pass) { this.pass = pass; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Timestamp getReg_date() { return reg_date; } public void setReg_date(Timestamp reg_date) { this.reg_date = reg_date; } } |
< MemController.java >
- POST 방식일 땐 쓰고싶은 거 쓰면 됨! 우린 지금 MemberBean 을 써야하니까 이런식으로! (=POST 방식일 때만 가능!)
@RequestMapping(value = "/insert", method = RequestMethod.POST) public String insertPost(MemberBean mb) { logger.info("Welcome insertPost!"); System.out.println(mb.getId()); System.out.println(mb.getPass()); System.out.println(mb.getName()); System.out.println("회원가입 성공"); return "redirect:login"; } |
- 회원가입 해보기!
콘솔창에 뜸 (한글처리 안해서 한글은 깨짐)
< web.xml >
<filter> <filter-name>encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> |
- 한글처리 추가!
한글 안깨지고 잘 나옴!
======== com.itwillbs.service 패키지 만들기
======== com.itwillbs.DAO 패키지 만들기
======== service 패키지 안에 MemServiceImpl.java 만들기
package com.itwillbs.service; public class MemServiceInput { public void insert() { System.out.println("MemServiceImpl - insert()"); } } |
- 객체 생성하기 추가!
- MemDAOImpl memDAOImpl = new MemDAOImpl();
- memDAOImpl.insert();
======== MemDAOImpl.java 만들기
package com.itwillbs.DAO; public class MemDAOImpl { public void insert() { System.out.println("MemDAOImpl - insert()"); } } |
< MemController.java >
- 객체 생성하기!
> 회원가입 눌렀을 때
- 콘솔창에 Service 호출되고 DAO 처리되는지 보기!
728x90
'Dev.Program > Java & Spring' 카테고리의 다른 글
[Spring] - (4)MyBatis / 설정 및 연동 (0) | 2022.10.09 |
---|---|
[Spring] - (3)데이터베이스 연동 (0) | 2022.10.09 |
[Spring] - (1)설치 및 설정하기 (0) | 2022.10.09 |
InetAddress 클래스 (0) | 2022.10.07 |
데이터 입출력 : IO(Input/Output) (0) | 2022.10.07 |