[Spring] - (2)

2022. 10. 9. 12:53Dev.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