반응형
package org.doit.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.doit.ik.domain.NoticeVO;
import org.doit.ik.persistence.NoticeDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/customer/*")
public class CustomerController {
@Autowired //자동주입하겠다
private NoticeDao noticeDao;
//?seq=1
//?seq=1
@GetMapping("/noticeDel.htm")
public String noticeDel(@RequestParam("seq") String seq) throws Exception {
int deleteCount = this.noticeDao.delete(seq);
if (deleteCount==1) {
return "redirect:notice.htm";
} else {
return "redirect:noticeDetail.htm?seq=" + seq + "&error";
}
}
@PostMapping("/noticeEdit.htm")
public String noticeDetail(
NoticeVO notice) throws Exception {
int updateCount = this.noticeDao.update(notice);
if (updateCount==1) {
return "redirect:noticeDetail.htm?seq="+ notice.getSeq();
} else {
return "redirect:notice.htm";
}
}
//?seq=1
@GetMapping("/noticeEdit.htm")
public String noticeEdit(
@RequestParam("seq") String seq
, Model model) throws Exception{
NoticeVO notice = this.noticeDao.getNotice(seq);
model.addAttribute("notice", notice);
return "noticeEdit.jsp";
}
//p358 컨트롤러 메서드 파라미터 중의( 커멘드객체를 사용하는 예시)
//@RequestMapping(value = "/noticeReg.htm", method = RequestMethod.POST)
@PostMapping("/noticeReg.htm")
public String noticeReg( NoticeVO notice ) throws Exception{
//로그인 인증 - 세션
notice.setWriter("jieun");//이런식으로 로그인한 세션값을 받아와서 이렇게 처리하면 됨
int insertCount = this.noticeDao.insert(notice);
if (insertCount ==1) {
return "redirect:notice.htm";
} else {
return "noticeReg.jsp?error";
}
}
//notice.jsp 에서 링크 태그[글쓰기] 버튼을 클릭
//@RequestMapping(value = "/noticeReg.htm", method = RequestMethod.GET)
@GetMapping("/noticeReg.htm")
public String noticeReg() throws Exception {
return "noticeReg.jsp";
}
@GetMapping("/noticeDetail.htm")
public String noticeDetail(
@RequestParam("seq") String seq
, Model model
) throws Exception {
NoticeVO notice = this.noticeDao.getNotice(seq);
model.addAttribute("notice", notice);
return "noticeDetail.jsp";
}
@GetMapping("/notice.htm")
public String notices(
@RequestParam(value = "page", defaultValue="1") int page,
@RequestParam(value = "field", defaultValue="title") String field,
@RequestParam(value = "query", defaultValue="") String query
, Model model) throws Exception {
model.addAttribute("message", "hello world");
List<NoticeVO> list = this.noticeDao.getNotices(page, field, query);
model.addAttribute("list", list);
return "notice.jsp";
}
/*
//"컨트롤러 메서드"
//@RequestMapping(value = {"/customer/notice.htm"}) //어떤요청이 들어오면 얘가 실행이 됩니까? 라는 요청이다.
//@RequestMapping("/customer/notice.htm")
@GetMapping("/customer/notice.htm") //위에 2개도 모두 이거와 같은 방식이다.
public ModelAndView notices(HttpServletRequest request, HttpServletResponse response, Model model, HttpSession session) throws Exception {
ModelAndView mav = new ModelAndView();
mav.addObject("message", "hello world"); //message안에 hello world를 넣겠다.
//?page=2&field=title&query=홍길동
String ppage = request.getParameter("page");
String pfield = request.getParameter("field");
String pquery = request.getParameter("query");
int page=1;
String field="title";
String query = "";
if( ppage !=null && !ppage.equals("")) { page = Integer.parseInt(ppage);}
if( pfield !=null && !pfield.equals("")) { field = pfield; }
if( pquery !=null && !pquery.equals("")) { query=pquery;}
List<NoticeVO> list = this.noticeDao.getNotices(page, field, query);
mav.addObject("list", list);
mav.setViewName("notice.jsp");
return mav;
}
*/
}
//doit.controller
package org.doit.ik;
import java.text.DateFormat;
import java.util.Date;
import java.util.Locale;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
/**
* Handles requests for the application home page.
*/
@Controller
public class HomeController {
private static final Logger logger = LoggerFactory.getLogger(HomeController.class);
/**
* Simply selects the home view to render by returning its name.
*/
@RequestMapping(value = "/", method = RequestMethod.GET)
public String home(Locale locale, Model model) {
logger.info("Welcome home! The client locale is {}.", locale);
Date date = new Date();
DateFormat dateFormat = DateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.LONG, locale);
String formattedDate = dateFormat.format(date);
model.addAttribute("serverTime", formattedDate );
return "home"; //web-inf/view/home.jsp
}
}
package org.doit.ik.controller;
import java.util.List;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import org.doit.ik.domain.NoticeVO;
import org.doit.ik.persistence.NoticeDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping("/customer/*")
public class CustomerController {
@Autowired //자동주입하겠다
private NoticeDao noticeDao;
@PostMapping("/noticeEdit.htm")
public String noticeDetail(
NoticeVO notice) throws Exception {
int updateCount = this.noticeDao.update(notice);
if (updateCount==1) {
return "redirect:noticeDetial.htm?seq="+ notice.getSeq();
} else {
return "redirect:notice.htm";
}
}
//?seq=1
@GetMapping("/noticeEdit.htm")
public String noticeEdit(
@RequestParam("seq") String seq
, Model model) throws Exception{
NoticeVO notice = this.noticeDao.getNotice(seq);
model.addAttribute("notice", notice);
return "noticeEdit.jsp";
}
//p358 컨트롤러 메서드 파라미터 중의( 커멘드객체를 사용하는 예시)
//@RequestMapping(value = "/noticeReg.htm", method = RequestMethod.POST)
@PostMapping("/noticeReg.htm")
public String noticeReg( NoticeVO notice ) throws Exception{
//로그인 인증 - 세션
notice.setWriter("jieun");//이런식으로 로그인한 세션값을 받아와서 이렇게 처리하면 됨
int insertCount = this.noticeDao.insert(notice);
if (insertCount ==1) {
return "redirect:notice.htm";
} else {
return "noticeReg.jsp?error";
}
}
//notice.jsp 에서 링크 태그[글쓰기] 버튼을 클릭
//@RequestMapping(value = "/noticeReg.htm", method = RequestMethod.GET)
@GetMapping("/noticeReg.htm")
public String noticeReg() throws Exception {
return "noticeReg.jsp";
}
@GetMapping("/noticeDetial.htm")
public String noticeDetail(
@RequestParam("seq") String seq
, Model model
) throws Exception {
NoticeVO notice = this.noticeDao.getNotice(seq);
model.addAttribute("notice", notice);
return "noticeDetial.jsp";
}
@GetMapping("/notice.htm")
public String notices(
@RequestParam(value = "page", defaultValue="1") int page,
@RequestParam(value = "field", defaultValue="title") String field,
@RequestParam(value = "query", defaultValue="") String query
, Model model) throws Exception {
model.addAttribute("message", "hello world");
List<NoticeVO> list = this.noticeDao.getNotices(page, field, query);
model.addAttribute("list", list);
return "notice.jsp";
}
/*
//"컨트롤러 메서드"
//@RequestMapping(value = {"/customer/notice.htm"}) //어떤요청이 들어오면 얘가 실행이 됩니까? 라는 요청이다.
//@RequestMapping("/customer/notice.htm")
@GetMapping("/customer/notice.htm") //위에 2개도 모두 이거와 같은 방식이다.
public ModelAndView notices(HttpServletRequest request, HttpServletResponse response, Model model, HttpSession session) throws Exception {
ModelAndView mav = new ModelAndView();
mav.addObject("message", "hello world"); //message안에 hello world를 넣겠다.
//?page=2&field=title&query=홍길동
String ppage = request.getParameter("page");
String pfield = request.getParameter("field");
String pquery = request.getParameter("query");
int page=1;
String field="title";
String query = "";
if( ppage !=null && !ppage.equals("")) { page = Integer.parseInt(ppage);}
if( pfield !=null && !pfield.equals("")) { field = pfield; }
if( pquery !=null && !pquery.equals("")) { query=pquery;}
List<NoticeVO> list = this.noticeDao.getNotices(page, field, query);
mav.addObject("list", list);
mav.setViewName("notice.jsp");
return mav;
}
*/
}
package org.doit.ik.domain;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MemberVO {
private String id;
private String pwd;
private String name;
private String gender;
private String birth;
private String is_Lunar;
private String cphone;
private String email;
private String habit;
private Date regdate;
}
package org.doit.ik.domain;
import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class NoticeVO {
private String seq;
private String title;
private String content;
private String writer;
private Date regdate;
private int hit;
private String filesrc;
}
package org.doit.ik.mapper;
public interface SampleMapper {
String getTime();
}
package org.doit.ik.persistence;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import org.doit.ik.domain.MemberVO;
public class MemberDao {
public MemberVO getMember(String id) throws ClassNotFoundException, SQLException
{
String sql = " SELECT * "
+ " FROM MEMBER "
+ " WHERE id = ? ";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.167:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString( 1, id );
ResultSet rs = st.executeQuery();
MemberVO member = null;
if(rs.next())
{
member = new MemberVO();
member.setId(rs.getString("id"));
member.setPwd(rs.getString("pwd"));
member.setName(rs.getString("name"));
member.setGender(rs.getString("gender"));
member.setBirth(rs.getString("birth"));
member.setIs_Lunar(rs.getString("is_lunar"));
member.setCphone(rs.getString("cphone"));
member.setEmail(rs.getString("email"));
member.setHabit(rs.getString("habit"));
member.setRegdate(rs.getDate("regdate"));
}
rs.close();
st.close();
con.close();
return member;
}
// 회원 가입 메서드
public int insert(MemberVO member) throws ClassNotFoundException, SQLException
{
String sql = "INSERT INTO MEMBER2"
+ "( ID, PWD, NAME, GENDER, BIRTH, IS_LUNAR, CPHONE, EMAIL, HABIT, REGDATE) "
+ " VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, SYSDATE)";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.167:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, member.getId());
st.setString(2, member.getPwd());
st.setString(3, member.getName());
st.setString(4, member.getGender());
st.setString(5, member.getBirth());
st.setString(6, member.getIs_Lunar());
st.setString(7, member.getCphone());
st.setString(8, member.getEmail());
st.setString(9, member.getHabit());
int result = st.executeUpdate();
st.close();
con.close();
return result;
}
}
package org.doit.ik.persistence;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import org.doit.ik.domain.NoticeVO;
import org.springframework.stereotype.Repository;
@Repository
public class NoticeDao {
// 검색한 결과의 총레코드 수 를 반환하는 메서드
public int getCount(String field, String query) throws ClassNotFoundException, SQLException
{
String sql = "SELECT COUNT(*) CNT "
+ " FROM NOTICES "
+ " WHERE "+field+" LIKE ?";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, "%"+query+"%");
ResultSet rs = st.executeQuery();
rs.next();
int cnt = rs.getInt("cnt");
rs.close();
st.close();
con.close();
return cnt;
}
// 페이징 처리 + 공지사항 목록
public List<NoticeVO> getNotices(int page, String field, String query) throws ClassNotFoundException, SQLException
{
int srow = 1 + (page-1)*15; // 1, 16, 31, 46, 61, ... an = a1 + (n-1)*d
int erow = 15 + (page-1)*15; //15, 30, 45, 60, 75, ...
String sql = " SELECT * "
+ " FROM ( "
+ " SELECT ROWNUM NUM, N.* "
+ " FROM ("
+ " SELECT * "
+ " FROM NOTICES "
+ " WHERE "+field+" LIKE ? "
+ " ORDER BY REGDATE DESC"
+ " ) N"
+ " ) "
+ " WHERE NUM BETWEEN ? AND ? ";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.167:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, "%"+query+"%");
st.setInt(2, srow);
st.setInt(3, erow);
ResultSet rs = st.executeQuery();
List<NoticeVO> list = new ArrayList<NoticeVO>();
while(rs.next()){
NoticeVO n = new NoticeVO();
n.setSeq(rs.getString("seq"));
n.setTitle(rs.getString("title"));
n.setWriter(rs.getString("writer"));
n.setRegdate(rs.getDate("regdate"));
n.setHit(rs.getInt("hit"));
n.setContent(rs.getString("content"));
n.setFilesrc(rs.getString("filesrc"));
list.add(n);
} // while
rs.close();
st.close();
con.close();
return list;
}
// 공지사항 삭제
public int delete(String seq) throws ClassNotFoundException, SQLException
{
String sql = " DELETE FROM NOTICES "
+ " WHERE SEQ=?";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.167:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, seq);
int af = st.executeUpdate();
return af;
}
// 공지사항 수정
public int update( NoticeVO notice ) throws ClassNotFoundException, SQLException{
String sql = "UPDATE NOTICES "
+ " SET TITLE=?, CONTENT=?, FILESRC=? "
+ " WHERE SEQ=?";
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, notice.getTitle());
st.setString(2, notice.getContent());
st.setString(3, notice.getFilesrc());
st.setString(4, notice.getSeq());
int af = st.executeUpdate();
return af;
}
// 해당 공지사항 상세보기.
public NoticeVO getNotice(String seq) throws ClassNotFoundException, SQLException
{
String sql = " SELECT * "
+ " FROM NOTICES "
+ " WHERE SEQ="+seq;
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.167:1521:xe",
"scott", "tiger");
Statement st = con.createStatement();
ResultSet rs = st.executeQuery(sql);
rs.next();
NoticeVO notice = new NoticeVO();
notice.setSeq(rs.getString("seq"));
notice.setTitle(rs.getString("title"));
notice.setWriter(rs.getString("writer"));
notice.setRegdate(rs.getDate("regdate"));
notice.setHit(rs.getInt("hit"));
notice.setContent(rs.getString("content"));
notice.setFilesrc(rs.getString("filesrc"));
rs.close();
st.close();
con.close();
return notice;
}
// 공지사항 글쓰기
public int insert(NoticeVO notice) throws ClassNotFoundException, SQLException {
String sql = "INSERT INTO NOTICES"
+ " ( SEQ, TITLE, CONTENT, WRITER, REGDATE, HIT, FILESRC) "
+ " VALUES"
+ " ( (SELECT MAX(TO_NUMBER(SEQ))+1 FROM NOTICES), ?, ?, 'kenik', SYSDATE, 0, ?)";
//시큐리티 .. 로그인한 사람... 나중에 ...
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection("jdbc:oracle:thin:@192.168.10.167:1521:xe",
"scott", "tiger");
PreparedStatement st = con.prepareStatement(sql);
st.setString(1, notice.getTitle());
st.setString(2, notice.getContent());
st.setString(3, notice.getFilesrc());
int af = st.executeUpdate();
st.close();
con.close();
return af;
}
} // class
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"https://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.doit.ik.mapper.SampleMapper">
<select id="getTime" resultType="string">
SELECT sysdate
FROM dual
</select>
</mapper>
//samplemapper
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>index</title>
<link href="notice.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="header">
<div class="top-wrapper">
<h1 id="logo">
<a href="../index.jsp"><img src="../images/logo.png" alt="뉴렉처" /></a>
</h1>
<h2 class="hidden">메인메뉴</h2>
<ul id="mainmenu" class="block_hlist">
<li><a href="">학습가이드</a></li>
<li><a href="">과정선택</a></li>
<li><a href="">인기과정</a></li>
</ul>
<form id="searchform" action="" method="get">
<fieldset>
<legend class="hidden"> 과정검색폼 </legend>
<label for="query">과정검색</label> <input type="text" name="query" />
<input type="submit" class="button" value="검색" />
</fieldset>
</form>
<h3 class="hidden">로그인메뉴</h3>
<ul id="loginmenu" class="block_hlist">
<li><a href="../index.jsp">HOME</a></li>
<li><a href="../joinus/login.jsp">로그인</a></li>
<li><a href="../joinus/join.jsp">회원가입</a></li>
</ul>
<h3 class="hidden">회원메뉴</h3>
<ul id="membermenu" class="clear">
<li><a href=""><img src="../images/menuMyPage.png"
alt="마이페이지" /></a></li>
<li><a href="notice.jsp"><img
src="../images/menuCustomer.png" alt="고객센터" /></a></li>
</ul>
</div>
</div>
<div id="visual" class="customer">
<div class="top-wrapper"></div>
</div>
<div id="main">
<div class="top-wrapper clear">
<div id="content">
<h2>공지사항 - ${ message }</h2>
<h3 class="hidden">방문페이지 로그</h3>
<ul id="breadscrumb" class="block_hlist clear">
<li>HOME</li>
<li>고객센터</li>
<li>공지사항목록</li>
</ul>
<h3 class="hidden">공지사항 목록</h3>
<form id="content-searchform" class="article-search-form"
action="notice.jsp" method="get">
<fieldset>
<legend class="hidden"> 목록 검색 폼 </legend>
<input type="hidden" name="pg" value="" /> <label for="f"
class="hidden">검색필드</label> <select name="f">
<option value="TITLE">제목</option>
<option value="CONTENT">내용</option>
</select> <label class="hidden" for="q">검색어</label> <input type="text"
name="q" value="" /> <input type="submit" value="검색" />
</fieldset>
</form>
<table class="article-list margin-small">
<caption class="hidden">공지사항</caption>
<thead>
<tr>
<th class="seq">번호</th>
<th class="title">제목</th>
<th class="writer">작성자</th>
<th class="regdate">작성일</th>
<th class="hit">조회수</th>
</tr>
</thead>
<tbody>
<!-- <tr>
<td class="seq">1</td>
<td class="title"><a href="noticeDetail.jsp">강좌가 오픈될 예정입니다.</a></td>
<td class="writer">관리자</td>
<td class="regdate">2013-02-10</td>
<td class="hit">12</td>
</tr> -->
<c:choose>
<c:when test="${not empty list}">
<c:forEach items="${list}" var="dto">
<tr>
<td class="seq">${dto.seq}</td>
<td class="title"><a
href="noticeDetial.htm?seq=${dto.seq}">${dto.title}</a></td>
<td class="writer">${dto.writer}</td>
<td class="regdate">${dto.regdate}</td>
<td class="hit">${dto.hit}</td>
</tr>
</c:forEach>
</c:when>
<c:otherwise>
<tr>
<td colspan="5">공지사항이 없습니다</td>
</tr>
</c:otherwise>
</c:choose>
</tbody>
</table>
<p class="article-comment margin-small">
<a class="btn-write button" href="noticeReg.htm">글쓰기</a>
</p>
<p id="cur-page" class="margin-small">
<span class="strong">1</span> / 10 page
</p>
<div id="pager-wrapper" class="margin-small">
<div class="pager clear">
<p id="btnPrev">
<a class="button btn-prev" href="notice.jsp">이전</a>
</p>
<ul>
<li><a class="strong" href="">1</a></li>
<li><a href="">2</a></li>
<li><a href="">3</a></li>
<li><a href="">4</a></li>
<li><a href="">5</a></li>
</ul>
<p id="btnNext">
<span class="button btn-next">다음</span>
</p>
</div>
</div>
</div>
<div id="navi">
<h2>고객센터</h2>
<h3 class="hidden">고객센터메뉴</h3>
<ul id="navi-menu">
<li><a href="">뉴렉처소식</a></li>
<li><a href="" class="current">공지사항</a></li>
<li><a href="">1:1 고객문의</a></li>
<li><a href="">학습도구</a></li>
<li><a href="">학습안내</a></li>
</ul>
<h3 id="fav-title">추천사이트</h3>
<ul class="margin-small">
<li><a href="http://www.answeris.net"><img
src="../images/answeris.png" alt="앤서이즈" /></a></li>
<li><a href="http://www.microsoft.com"><img
src="../images/microsoft.png" alt="마이크로소프트" /></a></li>
<li><a href="http://www.w3c.org"><img
src="../images/w3c.png" alt="W3C" /></a></li>
</ul>
</div>
</div>
</div>
<div id="footer">
<div class="top-wrapper">
<h2>
<img src="../images/footerLogo.png" alt="뉴렉처" />
</h2>
<p>
<address id="ad">
사업자등록번호 : 000-00-00000000 통신판매업신고 : 서울 0000-000 관리자 : 홍길동 <br /> 주소
: 서울시 000구 001동 000-0 00빌딩 0층 전화 : 02-000-0000 팩스 : 02-000-0000
</address>
</p>
<p>Copyright ⓒ newlecture.com 2012-2012 All Right Reserved.
Contact master@newlecture.com for more information</p>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>index</title>
<link href="../css/customer.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="header">
<div class="top-wrapper">
<h1 id="logo"><a href="/"><img src="../images/logo.png" alt="뉴렉처" /></a></h1>
<h2 class="hidden">메인메뉴</h2>
<ul id="mainmenu" class="block_hlist">
<li>
<a href="">학습가이드</a>
</li>
<li>
<a href="" >과정선택</a>
</li>
<li>
<a href="" >인기과정</a>
</li>
</ul>
<form id="searchform" action="" method="get">
<fieldset>
<legend class="hidden">
과정검색폼
</legend>
<label for="query">과정검색</label>
<input type="text" name="query" />
<input type="submit" class="button" value="검색" />
</fieldset>
</form>
<h3 class="hidden">로그인메뉴</h3>
<ul id="loginmenu" class="block_hlist">
<li>
<a href="../index.jsp">HOME</a>
</li>
<li>
<a href="../joinus/login.jsp">로그인</a>
</li>
<li>
<a href="../joinus/join.jsp">회원가입</a>
</li>
</ul>
<h3 class="hidden">회원메뉴</h3>
<ul id="membermenu" class="clear">
<li>
<a href=""><img src="../images/menuMyPage.png" alt="마이페이지" /></a>
</li>
<li>
<a href="notice.jsp"><img src="../images/menuCustomer.png" alt="고객센터" /></a>
</li>
</ul>
</div>
</div>
<div id="visual" class="customer">
<div class="top-wrapper">
</div>
</div>
<div id="main">
<div class="top-wrapper clear">
<div id="content">
<h2>공지사항</h2>
<h3 class="hidden">방문페이지위치</h3>
<ul id="breadscrumb" class="block_hlist">
<li id="home">
<a href="">HOME</a>
</li>
<li>
<a href="">고객센터</a>
</li>
<li>
<a href="">공지사항</a>
</li>
</ul>
<div id="notice-article-detail" class="article-detail margin-large" >
<dl class="article-detail-row">
<dt class="article-detail-title">
${notice.title}
</dt>
<dd class="article-detail-data">
제 12회 창업스쿨
</dd>
</dl>
<dl class="article-detail-row">
<dt class="article-detail-title">
작성일
</dt>
<dd class="article-detail-data">
${notice.title}
</dd>
</dl>
<dl class="article-detail-row half-row">
<dt class="article-detail-title">
작성자
</dt>
<dd class="article-detail-data half-data" >
${notice.title}
</dd>
</dl>
<dl class="article-detail-row half-row">
<dt class="article-detail-title">
조회수
</dt>
<dd class="article-detail-data half-data">
${notice.title}
</dd>
</dl>
<dl class="article-detail-row">
<dt class="article-detail-title">
첨부파일
</dt>
<dd class="article-detail-data">
<a href="">flag.png</a>
</dd>
</dl>
<div class="article-content" >
${notice.title}
</div>
</div>
<p class="article-comment margin-small">
<a class="btn-list button" href="notice.htm">목록</a>
<a class="btn-edit button" href="noticeEdit.htm">수정</a>
<a class="btn-del button" href="noticeDel.htm">삭제</a>
</p>
<div class="margin-small" style="border-top: 1px solid #dfdfdf;">
<dl class="article-detail-row">
<dt class="article-detail-title">
▲ 다음글
</dt>
<dd class="article-detail-data">
다음 글이 없습니다.
</dd>
</dl>
<dl class="article-detail-row">
<dt class="article-detail-title">
▼ 이전글
</dt>
<dd class="article-detail-data">
제 12회 창업스쿨
</dd>
</dl>
</div>
</div>
<div id="navi">
<h2>고객센터</h2>
<h3 class="hidden">고객센터메뉴</h3>
<ul id="navi-menu">
<li>
<a href="">뉴렉처소식</a>
</li>
<li>
<a href="" class="current">공지사항</a>
</li>
<li>
<a href="">1:1 고객문의</a>
</li>
<li>
<a href="">학습도구</a>
</li>
<li>
<a href="">학습안내</a>
</li>
</ul>
<h3 id="fav-title">추천사이트</h3>
<ul class="margin-small">
<li>
<a href="http://www.answeris.net"><img src="../images/answeris.png" alt="앤서이즈" /></a>
</li>
<li>
<a href="http://www.microsoft.com"><img src="../images/microsoft.png" alt="마이크로소프트" /></a>
</li>
<li>
<a href="http://www.w3c.org"><img src="../images/w3c.png" alt="W3C" /></a>
</li>
</ul>
</div>
</div>
</div>
<div id="footer">
<div class="top-wrapper">
<h2><img src="../images/footerLogo.png" alt="뉴렉처"/></h2>
<p>
<address>
사업자등록번호 : 000-00-00000000 통신판매업신고 : 서울 0000-000 관리자 : 홍길동
<br/>
주소 : 서울시 000구 001동 000-0 00빌딩 0층 전화 : 02-000-0000 팩스 : 02-000-0000
</address>
</p>
<p>
Copyright ⓒ newlecture.com 2012-2012 All Right Reserved. Contact master@newlecture.com for more information
</p>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>index</title>
<link href="../css/customer.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="header">
<div class="top-wrapper">
<h1 id="logo"><a href="/"><img src="../images/logo.png" alt="뉴렉처" /></a></h1>
<h2 class="hidden">메인메뉴</h2>
<ul id="mainmenu" class="block_hlist">
<li>
<a href="">학습가이드</a>
</li>
<li>
<a href="" >과정선택</a>
</li>
<li>
<a href="" >인기과정</a>
</li>
</ul>
<form id="searchform" action="" method="get">
<fieldset>
<legend class="hidden">
과정검색폼
</legend>
<label for="query">과정검색</label>
<input type="text" name="query" />
<input type="submit" class="button" value="검색" />
</fieldset>
</form>
<h3 class="hidden">로그인메뉴</h3>
<ul id="loginmenu" class="block_hlist">
<li>
<a href="../index.jsp">HOME</a>
</li>
<li>
<a href="../joinus/login.jsp">로그인</a>
</li>
<li>
<a href="../joinus/join.jsp">회원가입</a>
</li>
</ul>
<h3 class="hidden">회원메뉴</h3>
<ul id="membermenu" class="clear">
<li>
<a href=""><img src="../images/menuMyPage.png" alt="마이페이지" /></a>
</li>
<li>
<a href="notice.jsp"><img src="../images/menuCustomer.png" alt="고객센터" /></a>
</li>
</ul>
</div>
</div>
<div id="visual" class="customer">
<div class="top-wrapper">
</div>
</div>
<div id="main">
<div class="top-wrapper clear">
<div id="content">
<h2>공지사항</h2>
<h3 class="hidden">방문페이지위치</h3>
<ul id="breadscrumb" class="block_hlist">
<li>HOME</li>
<li>
고객센터
</li>
<li>
공지사항수정
</li>
</ul>
<form action="" method="post">
<div id="notice-article-detail" class="article-detail margin-large" >
<dl class="article-detail-row">
<dt class="article-detail-title">
제목
</dt>
<dd class="article-detail-data">
<input name="title" value="${ notice.title }" />
</dd>
</dl>
<dl class="article-detail-row half-row">
<dt class="article-detail-title">
작성자
</dt>
<dd class="article-detail-data half-data" >
${ notice.writer }
</dd>
</dl>
<dl class="article-detail-row half-row">
<dt class="article-detail-title">
조회수
</dt>
<dd class="article-detail-data half-data">
${ notice.hit }
</dd>
</dl>
<dl class="article-detail-row">
<dt class="article-detail-title">
첨부파일
</dt>
<dd class="article-detail-data">
<input type="file" id="txtFile" name="file" />
</dd>
</dl>
<div class="article-content" >
<textarea id="txtContent" class="txtContent" name="content">${ notice.content }</textarea>
</div>
</div>
<p class="article-comment margin-small">
<%-- <a class="btn-save button" href="noticeDetial.htm?seq=${ notice.seq }">수정</a> --%>
<a class="btn-save button" href="noticeDetial.htm?seq=${ notice.seq }">수정</a>
<a class="btn-cancel button" href="noticeDetial.jsp">취소</a>
</p>
<input type="hidden" name="${ _csrf.parameterName }" value="${ _csrf.token }">
</form>
</div>
<div id="navi">
<h2>고객센터</h2>
<h3 class="hidden">고객센터메뉴</h3>
<ul id="navi-menu">
<li>
<a href="">뉴렉처소식</a>
</li>
<li>
<a href="" class="current">공지사항</a>
</li>
<li>
<a href="">1:1 고객문의</a>
</li>
<li>
<a href="">학습도구</a>
</li>
<li>
<a href="">학습안내</a>
</li>
</ul>
<h3 id="fav-title">추천사이트</h3>
<ul class="margin-small">
<li>
<a href="http://www.answeris.net"><img src="../images/answeris.png" alt="앤서이즈" /></a>
</li>
<li>
<a href="http://www.microsoft.com"><img src="../images/microsoft.png" alt="마이크로소프트" /></a>
</li>
<li>
<a href="http://www.w3c.org"><img src="../images/w3c.png" alt="W3C" /></a>
</li>
</ul>
</div>
</div>
</div>
<div id="footer">
<div class="top-wrapper">
<h2><img src="../images/footerLogo.png" alt="뉴렉처"/></h2>
<p>
<address>
사업자등록번호 : 000-00-00000000 통신판매업신고 : 서울 0000-000 관리자 : 홍길동
<br/>
주소 : 서울시 000구 001동 000-0 00빌딩 0층 전화 : 02-000-0000 팩스 : 02-000-0000
</address>
</p>
<p>
Copyright ⓒ newlecture.com 2012-2012 All Right Reserved. Contact master@newlecture.com for more information
</p>
</div>
</div>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>index</title>
<link href="../css/customer.css" type="text/css" rel="stylesheet" />
</head>
<body>
<div id="header">
<div class="top-wrapper">
<h1 id="logo"><a href="/"><img src="../images/logo.png" alt="뉴렉처" /></a></h1>
<h2 class="hidden">메인메뉴</h2>
<ul id="mainmenu" class="block_hlist">
<li>
<a href="">학습가이드</a>
</li>
<li>
<a href="" >과정선택</a>
</li>
<li>
<a href="" >인기과정</a>
</li>
</ul>
<form id="searchform" action="" method="get">
<fieldset>
<legend class="hidden">
과정검색폼
</legend>
<label for="query">과정검색</label>
<input type="text" name="query" />
<input type="submit" class="button" value="검색" />
</fieldset>
</form>
<h3 class="hidden">로그인메뉴</h3>
<ul id="loginmenu" class="block_hlist">
<li>
<a href="../index.jsp">HOME</a>
</li>
<li>
<a href="../joinus/login.jsp">로그인</a>
</li>
<li>
<a href="../joinus/join.jsp">회원가입</a>
</li>
</ul>
<h3 class="hidden">회원메뉴</h3>
<ul id="membermenu" class="clear">
<li>
<a href=""><img src="../images/menuMyPage.png" alt="마이페이지" /></a>
</li>
<li>
<a href="notice.jsp"><img src="../images/menuCustomer.png" alt="고객센터" /></a>
</li>
</ul>
</div>
</div>
<div id="visual" class="customer">
<div class="top-wrapper">
</div>
</div>
<div id="main">
<div class="top-wrapper clear">
<div id="content">
<h2>공지사항</h2>
<h3 class="hidden">방문페이지위치</h3>
<ul id="breadscrumb" class="block_hlist">
<li>HOME</li>
<li>
고객센터
</li>
<li>
공지사항등록
</li>
</ul>
<form action="" method="post">
<div id="notice-article-detail" class="article-detail margin-large" >
<dl class="article-detail-row">
<dt class="article-detail-title">
제목
</dt>
<dd class="article-detail-data">
<input name="title"/>
</dd>
</dl>
<dl class="article-detail-row">
<dt class="article-detail-title">
첨부파일
</dt>
<dd class="article-detail-data">
<input type="file" id="txtFile" name="file" />
</dd>
</dl>
<div class="article-content" >
<textarea id="txtContent" class="txtContent" name="content"></textarea>
</div>
</div>
<p class="article-comment margin-small">
<input class="btn-save button" type="submit" value="저장" />
<a class="btn-cancel button" href="notice.jsp">취소</a>
</p>
<input type="hidden" name="${ _csrf.parameterName }" value="${ _csrf.token }">
</form>
</div>
<div id="navi">
<h2>고객센터</h2>
<h3 class="hidden">고객센터메뉴</h3>
<ul id="navi-menu">
<li>
<a href="">뉴렉처소식</a>
</li>
<li>
<a href="" class="current">공지사항</a>
</li>
<li>
<a href="">1:1 고객문의</a>
</li>
<li>
<a href="">학습도구</a>
</li>
<li>
<a href="">학습안내</a>
</li>
</ul>
<h3 id="fav-title">추천사이트</h3>
<ul class="margin-small">
<li>
<a href="http://www.answeris.net"><img src="../images/answeris.png" alt="앤서이즈" /></a>
</li>
<li>
<a href="http://www.microsoft.com"><img src="../images/microsoft.png" alt="마이크로소프트" /></a>
</li>
<li>
<a href="http://www.w3c.org"><img src="../images/w3c.png" alt="W3C" /></a>
</li>
</ul>
</div>
</div>
</div>
<div id="footer">
<div class="top-wrapper">
<h2><img src="../images/footerLogo.png" alt="뉴렉처"/></h2>
<p>
<address>
사업자등록번호 : 000-00-00000000 통신판매업신고 : 서울 0000-000 관리자 : 홍길동
<br/>
주소 : 서울시 000구 001동 000-0 00빌딩 0층 전화 : 02-000-0000 팩스 : 02-000-0000
</address>
</p>
<p>
Copyright ⓒ newlecture.com 2012-2012 All Right Reserved. Contact master@newlecture.com for more information
</p>
</div>
</div>
</body>
</html>