자 톰캣 설치후...요기 밑에 서버창으로 가보자~~
새로운 서버마법사가 있다 클릭해주자~~
내가받은 톰캣은 7.0만 인식한단다...ㅡㅡ;
요기 톰캣 설치 디렉토리를 설정해주자~~(자신의 톰켓 설치된곳~~)
짠~~서버가 켜졌다~~
'JSP > 설치(tomcat)' 카테고리의 다른 글
톰캣에서 GET방식 파라미터를 위한 인코딩 처리 (0) | 2012.05.30 |
---|
자 톰캣 설치후...요기 밑에 서버창으로 가보자~~
새로운 서버마법사가 있다 클릭해주자~~
내가받은 톰캣은 7.0만 인식한단다...ㅡㅡ;
요기 톰캣 설치 디렉토리를 설정해주자~~(자신의 톰켓 설치된곳~~)
짠~~서버가 켜졌다~~
톰캣에서 GET방식 파라미터를 위한 인코딩 처리 (0) | 2012.05.30 |
---|
복습2 스크립트 요소 (0) | 2012.07.05 |
---|---|
복습1 설치 및 세팅 (0) | 2012.07.04 |
예비 (0) | 2012.05.30 |
예비 (0) | 2012.05.30 |
8일차 MVC (0) | 2012.05.30 |
복습1 설치 및 세팅 (0) | 2012.07.04 |
---|---|
예비 (0) | 2012.05.30 |
예비 (0) | 2012.05.30 |
8일차 MVC (0) | 2012.05.30 |
7일차 filter,로그인 (0) | 2012.05.30 |
예비 (0) | 2012.05.30 |
---|---|
예비 (0) | 2012.05.30 |
8일차 MVC (0) | 2012.05.30 |
7일차 filter,로그인 (0) | 2012.05.30 |
7일차 Tiles (0) | 2012.05.30 |
package kame.chap24; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class SimpleController extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } private void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // 2단계, 요청 파악 // request 객체로부터 사용자의 요청을 파악하는 코드 String type = request.getParameter("type"); // 3단계, 요청한 기능을 수행한다. // 사용자에 요청에 따라 알맞은 코드 Object resultObject = null; String outcomePage=""; if (type == null || type.equals("greeting")) { resultObject = "안녕하세요."; outcomePage="/simpleView.jsp"; } else if (type.equals("date")) { outcomePage="/home_body.jsp"; request.setAttribute("hello", "안녕 난 컨트롤러"); resultObject = new java.util.Date(); } else { resultObject = "Invalid Type"; } // 4단계, request나 session에 처리 결과를 저장 request.setAttribute("result", resultObject); // 5단계, RequestDispatcher를 사용하여 알맞은 뷰로 포워딩 RequestDispatcher dispatcher = request.getRequestDispatcher(outcomePage); dispatcher.forward(request, response); } }
예비 (0) | 2012.05.30 |
---|---|
예비 (0) | 2012.05.30 |
7일차 filter,로그인 (0) | 2012.05.30 |
7일차 Tiles (0) | 2012.05.30 |
7일차 파일 업로드 (0) | 2012.05.30 |
package kame.chap21.filter; import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; import java.io.PrintWriter; import java.io.Reader; import java.io.StringReader; import java.io.StringWriter; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletResponse; import javax.xml.transform.Transformer; import javax.xml.transform.TransformerFactory; import javax.xml.transform.stream.StreamResult; import javax.xml.transform.stream.StreamSource; public class XSLTFilter implements Filter { private String xslPath = null; public void init(FilterConfig config) throws ServletException { xslPath = config.getServletContext().getRealPath( "/WEB-INF/xsl/book.xsl"); } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { response.setContentType("text/html; charset=euc-kr"); //응답에 어던 데이터를 보내기 위한 통로를 준비 PrintWriter writer = response.getWriter(); XSLTResponseWrapper responseWrapper = new XSLTResponseWrapper( (HttpServletResponse) response); chain.doFilter(request, responseWrapper); // XSL/T 변환 try { TransformerFactory factory = TransformerFactory.newInstance(); Reader xslReader = new BufferedReader(new FileReader(xslPath)); StreamSource xslSource = new StreamSource(xslReader); Transformer transformer = factory.newTransformer(xslSource); String xmlDocument = responseWrapper.getBufferedString(); Reader xmlReader = new StringReader(xmlDocument); StreamSource xmlSource = new StreamSource(xmlReader); StringWriter buffer = new StringWriter(4096); transformer.transform(xmlSource, new StreamResult(buffer)); writer.print(buffer.toString()); } catch (Exception ex) { throw new ServletException(ex); } writer.flush(); writer.close(); } public void destroy() { } }
예비 (0) | 2012.05.30 |
---|---|
8일차 MVC (0) | 2012.05.30 |
7일차 Tiles (0) | 2012.05.30 |
7일차 파일 업로드 (0) | 2012.05.30 |
6일차 답변형 게시판 (0) | 2012.05.30 |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #header{width:100%; height:100px; background-color: green ; } </style> <div id="header"> 헤더 </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #menu {width:200px; background-color: orange ; } </style> <div id="menu"> 메뉴 </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #footer{width:100%; height:300px; background-color: teal ; ; } </style> <div id="footer"> footer </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #body { background-color: gray; } </style> <div id="body"> 본문 1 </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <style> #tableLayout{ border:2px thin blue ; border-style: solid; border-width: 2px; width:90%; margin : 30px; } td { border:2px thin blue ; border-style: solid; border-width: 1px; } </style> </head> <body> <table id="tableLayout"> <tr> <td colspan="2"> <tiles:insertAttribute name="header" /> 헤더가 들어갈 자리 </td> </tr> <tr> <td width="25%" valign="top"> <tiles:insertAttribute name="menu" /> 메뉴가 들어갈 자리 </td> <td width="75%" valign="top"> <tiles:insertAttribute name="body" /> 바디 본문이 들어갈 자리 </td> </tr> <tr> <td colspan="2"> <tiles:insertAttribute name="footer" /> 풋터가 들어갈 자리 </td> </tr> </table> </body> </html>
<?xml version="1.0" encoding="euc-kr"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- tiles 라이브러리를 사용하자 --> <servlet> <servlet-name>tiles</servlet-name> <servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class> <init-param> <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name> <param-value>/WEB-INF/tiles-basic.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>TilesDispatchServlet</servlet-name> <servlet-class> org.apache.tiles.web.util.TilesDispatchServlet </servlet-class> </servlet> <!-- index.tiles 라고 요청하면 /WEB-INF/tiles-basic.xml에 선언된 <definition name="index" template="/tiles/layout.jsp"> 를 호출합니다 --> <servlet-mapping> <servlet-name>TilesDispatchServlet</servlet-name> <url-pattern>*.tiles</url-pattern> </servlet-mapping> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" "http://tiles.apache.org/dtds/tiles-config_2_1.dtd"> <tiles-definitions> <definition name="index" template="/tiles/layout.jsp"> <put-attribute name="header" value="/tiles/header.jsp"/> <put-attribute name="menu" value="/tiles/menu.jsp"/> <put-attribute name="body" value="/tiles/body1.jsp"/> <put-attribute name="footer" value="/tiles/footer.jsp"/> </definition> </tiles-definitions>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #header{width:100%; height:100px; background-color: green ; } </style> <div id="header"> 헤더 </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #menu {width:100%; background-color: orange ; } </style> <div id="menu"> 메뉴 </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #footer{width:100%; height:300px; background-color: olive ; } </style> <div id="footer"> footer </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #body { background-color: gray; } </style> <div id="body"> 본문 1 <br /> <a href="study2.tiles" > 바디2로 이동하기</a> </div>body2.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #body { background-color: gray; } </style> <div id="body"> body2.jsp <br /> <a href="study3.tiles" > 바디3로 이동하기</a><br/> <img src="http://mijoo.pe.kr/zbxe/files/attach/images/101/545/002/1_2.jpg" /> </div>body3.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #body { background-color: gray; } </style> <div id="body"> body3.jsp <br /> <a href="study4.tiles" > 바디4로 이동하기</a><br/>s <img src="http://contents.dt.co.kr/images/200901/2009012902011931716001.jpg" /> </div>body4.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <style> #body { background-color: gray; } </style> <div id="body"> body4.jsp <br /> <a href="study1.tiles" > 바디1로 이동하기</a><br/> <img src="http://www.fallight.com/attach/1/1499946474.jpg" /> </div>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="tiles" uri="http://tiles.apache.org/tags-tiles" %> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title> <tiles:getAsString name="title"/> </title> <style> #tableLayout{ border:2px thin blue ; border-style: solid; border-width: 2px; width:90%; margin : 30px; } td { border:2px thin blue ; border-style: solid; border-width: 1px; } </style> </head> <body> <table id="tableLayout"> <tr> <td colspan="2"> <tiles:insertAttribute name="header" /> 헤더가 들어갈 자리 </td> </tr> <tr> <td width="20%" valign="top"> <tiles:insertAttribute name="menu" /> 메뉴가 들어갈 자리 </td> <td width="80%" valign="top"> <tiles:insertAttribute name="body" /> 바디 본문이 들어갈 자리 </td> </tr> <tr> <td colspan="2"> <tiles:insertAttribute name="footer" /> 풋터가 들어갈 자리 </td> </tr> </table> </body> </html>
<?xml version="1.0" encoding="euc-kr"?> <web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5"> <!-- tiles 라이브러리를 사용하자 --> <servlet> <servlet-name>tiles</servlet-name> <servlet-class>org.apache.tiles.web.startup.TilesServlet</servlet-class> <init-param> <param-name>org.apache.tiles.impl.BasicTilesContainer.DEFINITIONS_CONFIG</param-name> <param-value>/WEB-INF/tiles-basic.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet> <servlet-name>TilesDispatchServlet</servlet-name> <servlet-class> org.apache.tiles.web.util.TilesDispatchServlet </servlet-class> </servlet> <!-- index.tiles 라고 요청하면 /WEB-INF/tiles-basic.xml에 선언된 <definition name="index" template="/tiles/layout.jsp"> 를 호출합니다 --> <servlet-mapping> <servlet-name>TilesDispatchServlet</servlet-name> <url-pattern>*.tiles</url-pattern> </servlet-mapping> </web-app>
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 2.1//EN" "http://tiles.apache.org/dtds/tiles-config_2_1.dtd"> <tiles-definitions> <definition name="index" template="/tiles/layout.jsp"> <put-attribute name="title" value="title를 사용하자"/> <put-attribute name="header" value="/tiles/header.jsp" /> <put-attribute name="menu" value="/tiles/menu.jsp"/> <put-attribute name="body" value="/tiles/body1.jsp"/> <put-attribute name="footer" value="/tiles/footer.jsp"/> </definition> <!-- wild Card Tiles 2.1버전부터는 설정파일에서 *와일드카드를 사용하여 설정파일의 내용을 줄이는 방법이 지원된다. --> <definition name="study*" extends="index"> <put-attribute name="body" value="/tiles/body{1}.jsp"/> </definition> <!-- *study* = > /~/{1}study{2}.jsp 예: androidStudy01.tiles => /study/androidStudy01.jsp 예: htmlStudy03.tiles => /study/htmlStudy03.jsp --> <!-- day02_01.jsp , day02_01.tiles --> </tiles-definitions>
8일차 MVC (0) | 2012.05.30 |
---|---|
7일차 filter,로그인 (0) | 2012.05.30 |
7일차 파일 업로드 (0) | 2012.05.30 |
6일차 답변형 게시판 (0) | 2012.05.30 |
5일차 JSTL jsp Standard Tag Library 2 (0) | 2012.05.29 |
http://commons.apache.org/lang/download_lang.cgi
여기서 commons-lang3-3.1-bin.zip다운 받자
압축을 푼후 라이브러리 폴더에 요걸 추가하자~~
<%@ page contentType="text/html; charset=euc-kr" %> <html> <head><title>multipart 폼</title></head> <body> <form action="fileupload.jsp" method="post" enctype="multipart/form-data"> text1: <input type="text" name="text1" /> <br/> file1: <input type="file" name="file1" /> <br/> file2: <input type="file" name="file2" /> <br/> <input type="submit" value="전송" /> </form> 1. *. jsp 2. *.java 3.web.xml 4./folder/*.jsp classes폴더는 복사하지 마세요 </body> </html>
<%@ page contentType="text/html; charset=euc-kr" %> <%@ page import="java.util.Iterator"%> <%@ page import="java.util.List"%> <%@ page import="org.apache.commons.fileupload.FileItem"%> <%@ page import="org.apache.commons.fileupload.disk.DiskFileItemFactory"%> <%@ page import="org.apache.commons.fileupload.servlet.ServletFileUpload"%> <%@ page import="java.io.*"%> <html> <head><title>업로드 정보</title></head> <body> <% // 1. multipart/form-data 여부 확인 boolean isMultipart = ServletFileUpload.isMultipartContent(request); if (isMultipart) { // 2. 메모리나 파일로 업로드 데이터를 보관하는 FileItem의 Factory 설정 DiskFileItemFactory factory = new DiskFileItemFactory(); // 3. 업로드 요청을 처리하는 ServletFileUpload 생성 ServletFileUpload upload = new ServletFileUpload(factory); // 4. 업로드 요청 파싱해서 FileItem 목록 구함 List<FileItem> items = upload.parseRequest(request);//텍스트 1개/파일2개 Iterator<FileItem> iter = items.iterator(); while (iter.hasNext()) { FileItem item = iter.next(); // 5. FileItem이 폼 입력 항목인지 여부에 따라 알맞은 처리 if (item.isFormField()) {//파일이 아니다, text일 경우 String name = item.getFieldName();//text1이다.<input type="text" name="text"> String value = item.getString("euc-kr");//그 필드에 사용자가 입력한 문자 %> 요청 파라미터: <%= name %>=<%= value %> <br/> <% } else {//request에 bind된 데이터를 열거해서 하나씩 체크했는데 파일일 경우 String name = item.getFieldName();//name="file1"/> String fileName = item.getName();//내가 업로드한 파일의 이름 String contentType = item.getContentType();//업로드 타입 boolean isInMemory = item.isInMemory();//메모리에 있는가? //파일의 용량이 클 경우에는 파일을 메모리가 아니라 임시폴더에 저장합니다. long sizeInBytes = item.getSize();//파일의 사이즈 if(sizeInBytes>10){//파일을 올렸으면 /* item이 파일이므로 자바의 파일입출력 기능으로 원하는 폴더에 저장하자 */ FileOutputStream fos=null;// 파일로 데이터를 보낼 Stream 선언 InputStream is=null;//item으로 부터 데이터를 읽을 Stream 선언 try{ File file= new File("c:/"+fileName);//windows 운영체제에서만 됩니다. fos=new FileOutputStream(file);//file로 데이터를 보낼 Stream 초기화 is= item.getInputStream();//item을 읽어들일 Stream 최기화 byte[] buff=new byte[256];//256byte 씩 읽어들일 변수 선언 int len= -1; while( (len=is.read(buff)) != -1){//더이상 읽을 것이 없을때 -1을 리턴하므로 //100개 읽을때도 있고 200개의 바이트를 읽을 때도 있을 것이다. fos.write(buff, 0, len);//읽자마자 파일로 보낸다 단위는 :0번째 부터len번째 까지 } }catch(Exception e){ out.print("파일을 저장중에 예외발생"+e.getMessage()); }finally{ try{ if(fos!=null){ fos.close();//닫아 주지 않으면 파일을 변경할 수 없다. } if(is!=null) { is.close(); } }catch(Exception e){ } } }// if 파일네임!=null %> 파일 : <%= name %>, <%= fileName %>, <%= sizeInBytes %> <%= isInMemory ? "메모리저장" : "임시파일저장" %> <br/> <% } } } else { // multipart/form 아님 %> multipart/form 요청이 아님. <% } %> </body> </html>
기타 세팅 파일
08.File/pds/upload.jsp ------> c:\\pds 폴더를 만들어줘야 한다.
08.File/WEB-INF/src/pds.jocl --------->자신의 테이블 명과 호스트 이름 비번을 적어주자~
7일차 filter,로그인 (0) | 2012.05.30 |
---|---|
7일차 Tiles (0) | 2012.05.30 |
6일차 답변형 게시판 (0) | 2012.05.30 |
5일차 JSTL jsp Standard Tag Library 2 (0) | 2012.05.29 |
5일차 JSTL jsp Standard Tag Library (0) | 2012.05.29 |
<요렇게 복사해주자~~~~>
1. jsp.*
2. WEB-INF/web.xml
3. WEB-INF/src/board.joc
4. WEB-INF/src/kame/*
5. WEB-INF/src/sql/*
6. 4.WEB-INF/src/lib/*
-WEB-INF/src/test/ (x)
DB생성을 하자~
article_mysql.sql
create table id_sequence ( sequence_name varchar(10) not null, next_value int not null, primary key (sequence_name) ) insert into id_sequence values ('article', 0) create table article ( article_id int not null auto_increment, group_id int not null, sequence_no char(16) not null, posting_date datetime not null, read_count int not null, writer_name varchar(20) not null, password varchar(10), title varchar(100), content text, primary key (article_id), index (sequence_no) )
Path가 지워졌을 경우....
복사할때 세미콜론을 꼭~~~
생성된 테이블을 확인해주자
list_view.jsp에 연결하자~~
실행이된다..~~ (내자리에서 한글이 깨지는 관계로 집에가서 해봐야지~~한글 테스트는..ㅎㅎ)
ㅎㅎㅎ한글 성공~~
MySql설치시 UTF-8로 셋팅이 안되있으면 한글이 안된다....그러면
설치 폴더에 my.ini 파일을 바꿔 주자~~
C:\Program Files\MySQL\MySQL Server 5.0\my.ini
my.ini ----->요거 세팅을 바꿔 주자 (UTF-8)
그리고 생성된 데이터 테이블을 drop해주고 다시 생성하자~~
그럼 실행될것이다~~~
7일차 Tiles (0) | 2012.05.30 |
---|---|
7일차 파일 업로드 (0) | 2012.05.30 |
5일차 JSTL jsp Standard Tag Library 2 (0) | 2012.05.29 |
5일차 JSTL jsp Standard Tag Library (0) | 2012.05.29 |
5일차 jstl.java.net (0) | 2012.05.29 |
<%@page import="java.io.IOException"%> <%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="bean.Item" %> <!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSTL jsp Standard Tag Library </title> </head> <body> javax.servlet.jsp.jstl-1.2.1.jar 이 필요합니다 http://jstl.java.net/ <br/> WEB-INF/lib/ 폴더에 넣으세요 <br /> <% Item item=new Item(); item.setNo(100); item.setContext("컨텍스트"); item.setTitle("타이틀"); %> <c:set var="test" value="<%=item %>" /> 번호 : ${test.no }, 내용 : ${test.context } , 타이틀 : ${test.title }<br/> <% java.util.HashMap<String, String> map= new java.util.HashMap<String, String>(); map.put("color","yellow"); %> 기본적인 방법 : <%=map.get("color") %> <br /> <!-- 표현 라이브러리를 사용하기 --> test2를 map을 가리키는 변수로 지정하기 <br/> <c:set var="test2" value="<%=map %>" /> test2에 키와 밸류를 셋팅하기 <br/> <c:set target="${test2}" property="color" value="red" /> test2의 color 키에 해당하는 value값은 : ${test2.color } <% java.util.ArrayList<Item> list=new java.util.ArrayList<Item>(); for(int i=0 ; i<10 ; i++){ Item item2=new Item(i,"내용"+i, "제목"+i); list.add(item2); } %> <c:set var="list" value="<%=list %>" /> <hr /> <c:forEach var="it" items="${list}" varStatus="status" step="2" begin="2" end="9"> ${status.index +1 } 번째 항목 : ${it.title} <br/> </c:forEach> <% int i=0; for (Item it : list ){ i++; out.print(i+"번재 항목 :"); out.print(it.getTitle()); } %> <c:forEach var="i" begin="1" end="10"> ${i} </c:forEach> <c:if test="true"> <br/><hr/>나와라! <br/> </c:if> <br/> <c:if test=" ${5>3 }"> 5>3 ? 입니까? </c:if> <c:if test="<%=list.size()>0 %>" > list의 사이즈는 0이상입니다. <br/> </c:if> <c:choose> <c:when test="<%=list.size()<3 %>" > list의 사이즈가 3 미만 입니다 </c:when> <c:when test="<%=list.size()<5 %>"> list의 사이즈가 5 미만 입니다 </c:when> <c:otherwise> list의 사이즈가 5 이상 이군요 </c:otherwise> </c:choose> <br /> <c:forTokens items="A.B.C.D.E" delims="." var="item"> ${item } - </c:forTokens> <!-- 안드로이드 OpenAPI 강의 참조~~ --> http://naver.com?name=hello 를 가져오기 <br/> <c:import url="http://naver.com" var="naver"> <%-- <c:param name="name" value="hello"></c:param> --%> </c:import> <hr/> <jsp:include page="http://daum.net"></jsp:include> ${naver } <br/> <c:url value="/day06_02.jsp" var="URL"> <c:param name="urlTest" value="urlMaker"></c:param> </c:url> 바로가기: <a href="${URL }">${URL }</a> jsp의 sendRedirect와 같은 기능을 가진 JSTL기능 <br/> <c:redirect url="URL2" context="/day06_list.jsp"> <c:param name="urlTest" value="urlMaker"></c:param> </c:redirect> </body> </html>
<%@ 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 HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> </head> <body> <<< ----->여는 태그 ><br/> <% java.io.FileReader reader = null; try{ String path = request.getContextPath(); String fileName="day06_list.jsp"; reader= new java.io.FileReader(getServletContext().getRealPath(fileName)); %> <pre> <br/>소스 코드 = <%=path %> <br/>자바나 xml소스를 화면에 출력할 때 사용합니다.<br/> <c:out value="<%=reader %>" escapeXml="true"/> </pre> <% }catch(java.io.IOException e){ out.print("에러"+e.getMessage()); } %> <br/> </body> </html>
7일차 파일 업로드 (0) | 2012.05.30 |
---|---|
6일차 답변형 게시판 (0) | 2012.05.30 |
5일차 JSTL jsp Standard Tag Library (0) | 2012.05.29 |
5일차 jstl.java.net (0) | 2012.05.29 |
5일차 JDBC3(표현 언어 Expression Language p454) (0) | 2012.05.29 |
tomcat폴더/webapps/examples/WEB-INF/lib에 있는 jar르 파일두개를 복사해주자~~
요렇게~~
<%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="bean.Item" %> <!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSTL jsp Standard Tag Library </title> </head> <body> javax.servlet.jsp.jstl-1.2.1.jar 이 필요합니다 http://jstl.java.net/ <br/> WEB-INF/lib/ 폴더에 넣으세요 <br /> <% Item item=new Item(); item.setNo(100); item.setContext("컨텍스트"); item.setTitle("타이틀"); %> <c:set var="test" value="<%=item %>" /> 번호 : ${test.no }, 내용 : ${test.context } , 타이틀 : ${test.title }<br/> <% java.util.HashMap<String, String> map= new java.util.HashMap<String, String>(); map.put("color","yellow"); %> 기본적인 방법 : <%=map.get("color") %> <br /> <!-- 표현 라이브러리를 사용하기 --> test2를 map을 가리키는 변수로 지정하기 <br/> <c:set var="test2" value="<%=map %>" /> test2에 키와 밸류를 셋팅하기 <br/> <c:set target="${test2}" property="color" value="red" /> test2의 color 키에 해당하는 value값은 : ${test2.color } <%-- <c:if test="true" > 나는 출력될 것입니다. <br/> </c:if> --%> <% java.util.ArrayList<Item> list= new java.util.ArrayList<Item>(); //list.add(1); list.add(2); list.add(3); for(int i=0 ; i<10 ; i++){ Item item2=new Item(); item2.setNo(100); item2.setContext("컨텍스트"); item2.setTitle("타이틀"+i); list.add(item2); } %> <c:set var="list" value="<%=list %>" /> <c:forEach var="i" begin="1" end="10"> ${i} </c:forEach> <c:if test="true"> 나와라! <br/> </c:if> <br/> <c:forEach var="it" items="${list}" varStatus="status"> ${status.index +i } 번째 항목 : ${it.title} <br/> </c:forEach> <br/> <br/> Either that classis part of a lib that must be included in your WEB-INF/lib or in your $CATALINA_HOME/lib directory or it needs to be included in your zipped up web app(.war). <br/> I guess that you have two versions of JSTL laying around in your server/webapp: this is a JSTL problem, anyway. <br/> <br/>톰캣 문제 해결 : http://tomcat.10.n6.nabble.com <br/> </body> </html>item.java
package bean; // 필드, 생성자, getter, setter, toString public class Item { int no; String title; String context; public Item(){} //default Constructor public Item(int no, String title, String context){ this.no=no; this.title=title; this.context=context; } public int getNo() { return no; } public void setNo(int no) { this.no = no; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContext() { return context; } public void setContext(String context) { this.context = context; } @Override public String toString() { return "Item [no=" + no + ", title=" + title + ", context=" + context + "]"; } }
<%@page import="java.util.ArrayList"%> <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ page import="bean.Item" %> <!DOCTYPE html > <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSTL jsp Standard Tag Library </title> </head> <body> javax.servlet.jsp.jstl-1.2.1.jar 이 필요합니다 http://jstl.java.net/ <br/> WEB-INF/lib/ 폴더에 넣으세요 <br /> <% Item item=new Item(); item.setNo(100); item.setContext("컨텍스트"); item.setTitle("타이틀"); %> <c:set var="test" value="<%=item %>" /> 번호 : ${test.no }, 내용 : ${test.context } , 타이틀 : ${test.title }<br/> <% java.util.HashMap<String, String> map= new java.util.HashMap<String, String>(); map.put("color","yellow"); %> 기본적인 방법 : <%=map.get("color") %> <br /> <!-- 표현 라이브러리를 사용하기 --> test2를 map을 가리키는 변수로 지정하기 <br/> <c:set var="test2" value="<%=map %>" /> test2에 키와 밸류를 셋팅하기 <br/> <c:set target="${test2}" property="color" value="red" /> test2의 color 키에 해당하는 value값은 : ${test2.color } <% java.util.ArrayList<Item> list= new java.util.ArrayList<Item>(); for(int i=0 ; i<10 ; i++){ Item item2=new Item(i,"내용"+i, "제목"+i); list.add(item2); } %> <c:set var="list" value="<%=list %>" /> <c:forEach var="it" items="${list }" varStatus="status"> ${staus.index +i } 번째 항목 : ${it.title }<br/> </c:forEach> <br/>p490 예제 실습해보기 <br/> <c:forEach var="i" begin="1" end="10"> ${i} </c:forEach> <c:if test="true"> <br/><hr/>나와라! <br/> </c:if> <br/> <c:forEach var="it" items="${list}" varStatus="status"> ${status.index +i } 번째 항목 : ${it.title} <br/> </c:forEach> <br/> <br/> Either that classis part of a lib that must be included in your WEB-INF/lib or in your $CATALINA_HOME/lib directory or it needs to be included in your zipped up web app(.war). <br/> I guess that you have two versions of JSTL laying around in your server/webapp: this is a JSTL problem, anyway. <br/> <br/>톰캣 문제 해결 : http://tomcat.10.n6.nabble.com <br/> </body> </html>
<c:set var="list" value="<%=list %>" /> <hr /> <c:forEach var="it" items="${list}" varStatus="status"> ${status.index +1 } 번째 항목 : ${it.title} <br/> </c:forEach> <% int i=0; for (Item it : list ){ i++; out.print(i+"번재 항목 :"); out.print(it.getTitle()); }%>
6일차 답변형 게시판 (0) | 2012.05.30 |
---|---|
5일차 JSTL jsp Standard Tag Library 2 (0) | 2012.05.29 |
5일차 jstl.java.net (0) | 2012.05.29 |
5일차 JDBC3(표현 언어 Expression Language p454) (0) | 2012.05.29 |
4일차 JDBC2 (0) | 2012.05.25 |
다운로드 JSTL을 눌러주자~
JSTL Implementation 클릭
이런 화면이 뜬다...
javax.servlet.jsp.jstl-1.2.1.jar 파일을 다운바당 자신의 프로젝트 폴더 라이브러리에 복사해주자~
5일차 JSTL jsp Standard Tag Library 2 (0) | 2012.05.29 |
---|---|
5일차 JSTL jsp Standard Tag Library (0) | 2012.05.29 |
5일차 JDBC3(표현 언어 Expression Language p454) (0) | 2012.05.29 |
4일차 JDBC2 (0) | 2012.05.25 |
4일차 JDBC2 (0) | 2012.05.25 |
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="bean.Item" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>표현 언어 Expression Language p454</title> </head> <body> <% Item item=new Item(); item.setNo(10); item.setContext("안녕하세요"); item.setTitle("제목"); String name="park"; %> name : <%=name %> <br/> 위의 소스의 대안으로 표현언어를 사용합니다. <br/> 변수를 선언하기+초기화 : n = name ; <br/> <c:set var="n" value="<%=item %>" /> <c:set var="title" value="${item.title}" /> 사용 법 : ${title} <br/> 사용 법2 : ${n.content} <br/> ${n} <br/> <% //리퀘스트 영역에 값을 저장하기 request.setAttribute("name", "park"); %> 요청 URI : ${pageContext.request.requestURI }<br/> <%=pageContext.getRequest().getLocalName() %> <br /> request의 name 속성 : ${requestScope.name } <br /> <%=request.getAttribute("name") %> <br /> code 파라미터: ${param.code } <br /> <%=request.getParameter("code") %> <br /> ${"10"+1} , ${null + 1 } , ${10/3} , ${10 == 1}, ${10 == 10 } <% int a=100; String b="100"; %> <br /> a 가 100입니까? ${a== 100 } , <%=a==100 %><br/> b 가 100입니까? ${b== "100" } , <%=b=="100" %><br/> <% java.text.SimpleDateFormat sdf= new java.text.SimpleDateFormat("yyyy:MM:dd hh:mm:ss"); java.util.Date date=new java.util.Date(); out.print("now "+ sdf.format(date)); %> <br /> 오늘은 <%=sdf.format(date) %> <br/> </body> </html>
5일차 JSTL jsp Standard Tag Library (0) | 2012.05.29 |
---|---|
5일차 jstl.java.net (0) | 2012.05.29 |
4일차 JDBC2 (0) | 2012.05.25 |
4일차 JDBC2 (0) | 2012.05.25 |
4일차 JDBC (1) | 2012.05.25 |
5일차 jstl.java.net (0) | 2012.05.29 |
---|---|
5일차 JDBC3(표현 언어 Expression Language p454) (0) | 2012.05.29 |
4일차 JDBC2 (0) | 2012.05.25 |
4일차 JDBC (1) | 2012.05.25 |
4일차 bean을 이용한 db에 jsp2테이블 가져오기 (0) | 2012.05.24 |
package connection; import java.sql.*; public class ConnectionProvider { static Connection conn; public static Connection getConnection(){ //2. 연결 try{ // test는 database 이름 입니다 // mysql안에 database 만드는 명령 : // c:/> mysqladmin -u root create test -p String url="jdbc:mysql://localhost:3306/test"; String user="root"; // 계정 이름 String password="1234"; //계정 비밀번호 conn= DriverManager.getConnection(url, user, password); System.out.print("연결성공 :"+ conn.toString()); }catch(Exception e){ System.out.print("연결 실패-"+e.getMessage()); } return conn; } }
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="bean.Item" %> <%@ page import="java.util.ArrayList" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>db에서 jsp2테이블 값을 다 가져오기</title> <link href="myStyle.css" rel="stylesheet" type="text/css" /> </head> <body> <% //1 . 드라이버 로딩 Class.forName("com.mysql.jdbc.Driver"); Connection conn=null; Statement stmt=null; ResultSet rs=null; //2. 연결 try{ // test는 database 이름 입니다 // mysql안에 database 만드는 명령 : // c:/> mysqladmin -u root create test -p String url="jdbc:mysql://localhost:3306/test"; String user="root"; // 계정 이름 String password="1234"; //계정 비밀번호 conn= DriverManager.getConnection(url, user, password); out.print("연결성공 :"+ conn.toString()); }catch(Exception e){ out.print("연결 실패-"+e.getMessage()); } String query= "select * from jsp2;"; stmt=conn.createStatement(); //db에 명령을 날리면 결과가 옵니다 rs=stmt.executeQuery(query); /* out.print("<table>"); while( rs.next()){ //한칸 아래로 이동 out.print("<tr><td> no </td><td>"); out.print(rs.getString("no")+"</td></tr>"); out.print("<tr><td id='title'> title </td><td class='title'>"); out.print(rs.getString("title")+"</td></tr>"); out.print("<tr><td> context </td><td>"); out.print(rs.getString("context")+"</td></tr>"); } out.print("</table>"); */ ArrayList<Item> arrayList=new ArrayList<Item>(); while(rs.next()){ // String -> int 로 cast int no=Integer.parseInt( rs.getString("no")); String title=rs.getString("title"); String context=rs.getString("context"); Item item=new Item(no, title, context); arrayList.add(item); %> <table> <tr> <td colspan="3"> 예제 테이블명 : jsp2 </td> </tr> <tr> <th>no</th> <td>title</td> <td>context</td> </tr> <tr> <td><%=no %></td> <td> <a href="day04_modify.jsp?no=<%=no%>"> <%=title%> </a> </td> <td><%=context %></td> </tr> </table> <% }// while문 닫기 rs.close(); stmt.close(); conn.close(); %> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>게시판 입력 폼</title> <style> table{ border:1px thin red ; border-style: solid ; padding: 10px 10px 10px 10px ; background-color: silver; } </style> </head> <body> <form action="day04_insert.jsp"> <table> <tr> <td>글제목</td> <td> <input type="text" name="title" size="20" required="required"> </td> </tr> <tr> <td>글내용 </td> <td> <textarea rows="5" name="context"></textarea> </td> </tr> <tr> <td> <input type="submit" value="저장"> </td> </tr> <tr> </tr> </table> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>수정/삭제 페이지 </title> <link rel="stylesheet" href="myStyle.css" type="text/css" > <script> function openWindow(url, name){ /* 다이얼로그 띄우기 */ window.open(url, name, "scrollbars=yes, status=no, resizable=no," + "width=500 , height=500"); } </script> </head> <body> <% String no=request.getParameter("no"); // no에 해당하는 데이터를 db에서 불러와서 화면에 보여주자 // 커넥션을 맺고(web.xml에서 기본으로 한다) // no에 해당하는 데이터를 select문으로 불러와서 Connection conn=null; Statement stmt=null; ResultSet rs=null; //2. 연결 try{ // test는 database 이름 입니다 // mysql안에 database 만드는 명령 : // c:/> mysqladmin -u root create test -p String url="jdbc:mysql://localhost:3306/test"; String user="root"; // 계정 이름 String password="1234"; //계정 비밀번호 conn= DriverManager.getConnection(url, user, password); out.print("연결성공 :"+ conn.toString()); }catch(Exception e){ out.print("연결 실패-"+e.getMessage()); %><% } String query= "select * from jsp2 where no="+no ; stmt=conn.createStatement(); //db에 명령을 날리면 결과가 옵니다 rs=stmt.executeQuery(query); // resultSet을 읽어서 화면에 출력하기 String title="nothing"; String context="nothing"; if( rs.next() ){ title = rs.getString("title"); context = rs.getString("context"); } %> <form action="day04_update.jsp"> <input type="hidden" name="no" value="<%=no %>"> <table> <tr> <td>글번호</td> <td> <%=no %></td> </tr> <tr> <td>글제목</td> <td> <input type="text" name="title" size="20" value="<%=title %>" required="required"> </td> </tr> <tr> <td>글내용 </td> <td> <textarea rows="5" name="context"> <%=context %> </textarea> </td> </tr> <tr> <td> <input type="submit" value="수정"> </td> <td> <input type="button" value="삭제" onClick="openWindow('day04_delete.jsp?no=<%=no%>', 'db에서 <%=no %>번 글 지우기')" > </td> </tr> <tr> </tr> </table> </form> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import ="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>db에 인서트 하기</title> </head> <body> <% //1 . 드라이버 로딩 Class.forName("com.mysql.jdbc.Driver"); Connection conn=null; Statement stmt=null; ResultSet rs=null; //2. 연결 try{ //test는 database 이름 입니다 //mysql안에 database 만드는 명령: //c:/>mysqladmin -u root creat test -p String url="jdbc:mysql://localhost:3306/test"; String user="root"; // 계정 이름 String password="1234"; //계정 비밀번호 conn = DriverManager.getConnection(url, user, password); out.print("연결성공 :"+ conn.toString()); }catch(Exception e){ out.print("연결 실패-"+e.getMessage()); } /* create table jsp2(no integer primary key auto_increment, title varchar(20),context varchar(100)); */ String sql="insert into jsp2 (title,context) values(?,?);"; PreparedStatement preState = conn.prepareStatement(sql); String title=request.getParameter("title");//첫번째? String context=request.getParameter("context");//두번째? preState.setString(1,title);//첫번째 ?값을 셋팅하기 preState.setString(2,context);//두번째 ?값을 셋팅하기 int outcome=-1; outcome=preState.executeUpdate();//insert 문 실행 if(outcome>0){ out.print("insert 성공 <br/>"); out.print("결과"+outcome); } %> db에 insert하고 dayo4_list.jsp로 이동하게 만듭니다. <jsp:forward page="day04_list.jsp"></jsp:forward> </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <%@ page import="connection.ConnectionProvider" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>파라미터를 받아서 db업데이트 하기</title> </head> <body> <% Connection conn= ConnectionProvider.getConnection() ; // 파라미터 3개 받아서 update명령을 날리기 String no=request.getParameter("no"); String title=request.getParameter("title"); String context=request.getParameter("context"); String sql="update jsp2 set title=? , context= ? where no=? "; PreparedStatement preState= conn.prepareStatement(sql); preState.setString(1, title); //1th ? preState.setString(2, context); //2th ? preState.setString(3, no); //3th ? int outcome=preState.executeUpdate(); out.print("update 리턴값 : "+ outcome +" <br/>"); // 업데이트 되었습니다. list로 돌아가겠습니까 바로가기 만들기 %> a태그가 싫을 때 간단하게 넘어가는 방법입니다 <br /> &sp; button onClick:= " javascript:location.href=' x.jsp ' "> <br /> <button onClick="javascript:location.href='day04_list.jsp' "> list로 되돌아가기 </button> insert/ delete / update/ select /select All </body> </html>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ page import="java.sql.*" %> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>request 파라미터 no값에 해당하는 row지우기</title> </head> <body> <% Connection conn=null; Statement stmt=null; ResultSet rs=null; //2. 연결 try{ // test는 database 이름 입니다 // mysql안에 database 만드는 명령 : // c:/> mysqladmin -u root create test -p String url="jdbc:mysql://localhost:3306/test"; String user="root"; // 계정 이름 String password="1234"; //계정 비밀번호 conn= DriverManager.getConnection(url, user, password); out.print("연결성공 :"+ conn.toString()); }catch(Exception e){ out.print("연결 실패-"+e.getMessage()); } String sql="delete from jsp2 where no=?"; PreparedStatement preState= conn.prepareStatement(sql); String no=request.getParameter("no"); preState.setString(1, no); int outcome = preState.executeUpdate(); out.print("outcome="+outcome+"<br />"); out.print(no+"에 해당하는 데이터를 지웠습니다 <br/>"); %> <br/> <a href="day04_list.jsp"> list보기로 되돌아가기 </a> </body> </html>
5일차 JDBC3(표현 언어 Expression Language p454) (0) | 2012.05.29 |
---|---|
4일차 JDBC2 (0) | 2012.05.25 |
4일차 JDBC (1) | 2012.05.25 |
4일차 bean을 이용한 db에 jsp2테이블 가져오기 (0) | 2012.05.24 |
4일차 db에 insert 하기 (0) | 2012.05.24 |