냥쟝
Published 2023. 8. 12. 03:10
spring nlmvc 카테고리 없음
반응형
<java />
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

 

<java />
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 } }
<java />
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; } */ }
<java />
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; }
<java />
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; }
<java />
package org.doit.ik.mapper; public interface SampleMapper { String getTime(); }
<java />
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; } }
<java />
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

 

 

<java />
<?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

<java />
<%@ 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 /> 주소 : 서울시 000001000-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>
<java />
<%@ 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/> 주소 : 서울시 000001000-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>
<java />
<%@ 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"> &nbsp;<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"> &nbsp;<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/> 주소 : 서울시 000001000-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>
<java />
<%@ 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"> &nbsp;<input name="title"/> </dd> </dl> <dl class="article-detail-row"> <dt class="article-detail-title"> 첨부파일 </dt> <dd class="article-detail-data"> &nbsp;<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/> 주소 : 서울시 000001000-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>

 

profile

냥쟝

@냥쟝

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!