Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

6.1.2 user list update complete #25

Open
wants to merge 4 commits into
base: step0-getting-started
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions src/main/java/next/model/User.java
Original file line number Diff line number Diff line change
Expand Up @@ -66,4 +66,9 @@ public boolean equals(Object obj) {
return true;
}

@Override
public String toString() {
return "User [userId=" + userId + ", password=" + password + ", name=" + name + ", email=" + email + "]";
}

}
3 changes: 1 addition & 2 deletions src/main/java/next/web/CreateUserServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -19,12 +19,11 @@
public class CreateUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
private static final Logger log = LoggerFactory.getLogger(CreateUserServlet.class);

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = new User(req.getParameter("userId"), req.getParameter("password"), req.getParameter("name"),
req.getParameter("email"));
log.debug("user : {}", user);
log.debug("user : {}", user.toString());
DataBase.addUser(user);
resp.sendRedirect("/user/list");
}
Expand Down
10 changes: 9 additions & 1 deletion src/main/java/next/web/ListUserServlet.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,16 +8,24 @@
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import core.db.DataBase;
import next.model.User;

@WebServlet("/user/list")
public class ListUserServlet extends HttpServlet {
private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setAttribute("users", DataBase.findAll());
HttpSession session = req.getSession();
Object value = session.getAttribute("user");
if(value !=null) {
User user = (User)value;
req.setAttribute("users", user);
}

RequestDispatcher rd = req.getRequestDispatcher("/user/list.jsp");
rd.forward(req, resp);
}
Expand Down
37 changes: 37 additions & 0 deletions src/main/java/next/web/LoginUserServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package next.web;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import core.db.DataBase;
import next.model.User;

@WebServlet("/user/login")
public class LoginUserServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
System.out.println("/user/login req : "+req.getParameter("userId")+""+req.getParameter("password"));
User user = DataBase.findUserById(req.getParameter("userId"));
System.out.println("/user/login data : "+user.toString());
if(user.getUserId().equals(req.getParameter("userId")) & user.getPassword().equals(req.getParameter("password"))) {
HttpSession session = req.getSession();
session.setAttribute("user", user);
resp.sendRedirect("/index.jsp");
} else {
System.out.println("no match");
RequestDispatcher rd = req.getRequestDispatcher("/user/login_failed.html");
rd.forward(req, resp);
}

}
}
24 changes: 24 additions & 0 deletions src/main/java/next/web/LogoutUserServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package next.web;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;


@WebServlet("/user/logout")
public class LogoutUserServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
HttpSession session = req.getSession();
session.invalidate();
resp.sendRedirect("/index.jsp");
}
}
28 changes: 28 additions & 0 deletions src/main/java/next/web/UpdateUserFormServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
package next.web;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import core.db.DataBase;
import next.model.User;

@WebServlet("/user/updateform")
public class UpdateUserFormServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = DataBase.findUserById(req.getParameter("userId"));
System.out.println("UpdateUserFormServlet user : "+user);
req.setAttribute("users", user);
RequestDispatcher rd = req.getRequestDispatcher("/user/update.jsp");
rd.forward(req, resp);
}
}
29 changes: 29 additions & 0 deletions src/main/java/next/web/UpdateUserServlet.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package next.web;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import core.db.DataBase;
import next.model.User;

@WebServlet("/user/update")
public class UpdateUserServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
User user = new User(req.getParameter("userId"), req.getParameter("password"), req.getParameter("name"),
req.getParameter("email"));
System.out.println(user.toString());
DataBase.addUser(user);
req.setAttribute("users", DataBase.findAll());
RequestDispatcher rd = req.getRequestDispatcher("/user/list.jsp");
rd.forward(req, resp);
}
}
Binary file added webapp/WEB-INF/lib/jstl-1.2.jar
Binary file not shown.
9 changes: 9 additions & 0 deletions webapp/include/head.jspf
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>SLiPP Java Web Programming</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link href="css/styles.css" rel="stylesheet">
32 changes: 32 additions & 0 deletions webapp/include/nav_top_header.jspf
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<nav class="navbar navbar-fixed-top header">
<div class="col-md-12">
<div class="navbar-header">

<a href="index.jsp" class="navbar-brand">SLiPP</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse1">
<i class="glyphicon glyphicon-search"></i>
</button>

</div>
<div class="collapse navbar-collapse" id="navbar-collapse1">
<form class="navbar-form pull-left">
<div class="input-group" style="max-width:470px;">
<input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
<div class="input-group-btn">
<button class="btn btn-default btn-primary" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-bell"></i></a>
<ul class="dropdown-menu">
<li><a href="https://slipp.net" target="_blank">SLiPP</a></li>
<li><a href="https://facebook.com" target="_blank">Facebook</a></li>
</ul>
</li>
<li><a href="./user/list.html"><i class="glyphicon glyphicon-user"></i></a></li>
</ul>
</div>
</div>
</nav>
71 changes: 21 additions & 50 deletions webapp/index.html → webapp/index.jsp
Original file line number Diff line number Diff line change
@@ -1,49 +1,13 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<!DOCTYPE html>
<html lang="kr">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<title>SLiPP Java Web Programming</title>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href="css/bootstrap.min.css" rel="stylesheet">
<!--[if lt IE 9]>
<script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<link href="css/styles.css" rel="stylesheet">
<%@ include file="/include/head.jspf" %>
</head>
<body>
<nav class="navbar navbar-fixed-top header">
<div class="col-md-12">
<div class="navbar-header">

<a href="index.html" class="navbar-brand">SLiPP</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse1">
<i class="glyphicon glyphicon-search"></i>
</button>

</div>
<div class="collapse navbar-collapse" id="navbar-collapse1">
<form class="navbar-form pull-left">
<div class="input-group" style="max-width:470px;">
<input type="text" class="form-control" placeholder="Search" name="srch-term" id="srch-term">
<div class="input-group-btn">
<button class="btn btn-default btn-primary" type="submit"><i class="glyphicon glyphicon-search"></i></button>
</div>
</div>
</form>
<ul class="nav navbar-nav navbar-right">
<li>
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="glyphicon glyphicon-bell"></i></a>
<ul class="dropdown-menu">
<li><a href="https://slipp.net" target="_blank">SLiPP</a></li>
<li><a href="https://facebook.com" target="_blank">Facebook</a></li>
</ul>
</li>
<li><a href="./user/list.html"><i class="glyphicon glyphicon-user"></i></a></li>
</ul>
</div>
</div>
</nav>
<%@ include file="/include/nav_top_header.jspf" %>
<div class="navbar navbar-default" id="subnav">
<div class="col-md-12">
<div class="navbar-header">
Expand All @@ -56,15 +20,22 @@
</div>
<div class="collapse navbar-collapse" id="navbar-collapse2">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="index.html">Posts</a></li>
<li><a href="user/login.html" role="button">로그인</a></li>
<li><a href="user/form.html" role="button">회원가입</a></li>
<!--
<li><a href="#loginModal" role="button" data-toggle="modal">로그인</a></li>
<li><a href="#registerModal" role="button" data-toggle="modal">회원가입</a></li>
-->
<li><a href="#" role="button">로그아웃</a></li>
<li><a href="#" role="button">개인정보수정</a></li>

<li class="active"><a href="index.jsp">Posts</a></li>
<c:choose>
<c:when test="${empty sessionScope.user.userId}">
<li><a href="user/login.html" role="button">로그인</a></li>
<li><a href="user/form.html" role="button">회원가입</a></li>
</c:when>
<c:otherwise>
<li><a href="/user/logout" role="button">로그아웃</a></li>
<li><a href="/user/updateform?userId=${sessionScope.user.userId}" role="button">개인정보수정</a></li>
</c:otherwise>
</c:choose>
<!--
<li><a href="#loginModal" role="button" data-toggle="modal">로그인</a></li>
<li><a href="#registerModal" role="button" data-toggle="modal">회원가입</a></li>
-->
</ul>
</div>
</div>
Expand Down
4 changes: 2 additions & 2 deletions webapp/qna/form.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<div class="col-md-12">
<div class="navbar-header">

<a href="../index.html" class="navbar-brand">SLiPP</a>
<a href="../index.jsp" class="navbar-brand">SLiPP</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse1">
<i class="glyphicon glyphicon-search"></i>
</button>
Expand Down Expand Up @@ -56,7 +56,7 @@
</div>
<div class="collapse navbar-collapse" id="navbar-collapse2">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="../index.html">Posts</a></li>
<li class="active"><a href="../index.jsp">Posts</a></li>
<li><a href="../user/login.html" role="button">로그인</a></li>
<li><a href="../user/form.html" role="button">회원가입</a></li>
<li><a href="#" role="button">로그아웃</a></li>
Expand Down
6 changes: 3 additions & 3 deletions webapp/qna/show.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<div class="col-md-12">
<div class="navbar-header">

<a href="../index.html" class="navbar-brand">SLiPP</a>
<a href="../index.jsp" class="navbar-brand">SLiPP</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse1">
<i class="glyphicon glyphicon-search"></i>
</button>
Expand Down Expand Up @@ -56,7 +56,7 @@
</div>
<div class="collapse navbar-collapse" id="navbar-collapse2">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="../index.html">Posts</a></li>
<li class="active"><a href="../index.jsp">Posts</a></li>
<li><a href="../user/login.html" role="button">로그인</a></li>
<li><a href="../user/form.html" role="button">회원가입</a></li>
<li><a href="#" role="button">로그아웃</a></li>
Expand Down Expand Up @@ -102,7 +102,7 @@ <h2 class="qna-title">InitializingBean implements afterPropertiesSet() 호출되
</form>
</li>
<li>
<a class="link-modify-article" href="/index.html">목록</a>
<a class="link-modify-article" href="/index.jsp">목록</a>
</li>
</ul>
</div>
Expand Down
6 changes: 2 additions & 4 deletions webapp/user/form.html
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<div class="col-md-12">
<div class="navbar-header">

<a href="../index.html" class="navbar-brand">SLiPP</a>
<a href="../index.jsp" class="navbar-brand">SLiPP</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse1">
<i class="glyphicon glyphicon-search"></i>
</button>
Expand Down Expand Up @@ -56,11 +56,9 @@
</div>
<div class="collapse navbar-collapse" id="navbar-collapse2">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="../index.html">Posts</a></li>
<li class="active"><a href="../index.jsp">Posts</a></li>
<li><a href="../user/login.html" role="button">로그인</a></li>
<li><a href="../user/form.html" role="button">회원가입</a></li>
<li><a href="#" role="button">로그아웃</a></li>
<li><a href="#" role="button">개인정보수정</a></li>
</ul>
</div>
</div>
Expand Down
Loading