테이블 명 : album_board1
번호 seq int not null primary key auto_increment
제목 subject varchar(150), not null
글쓴이 wirter varchar(12), not null
이메일 mail varchar(50), null
비밀번호 password varchar(12), not null
내용 content varchar(2000), null
파일명 filename varchat(50), null
파일크기 filesize int, null
조회수 hit int, not null
아이피 wip varchar(15), not null
등록일 wdate date, not null
create table album_board1(
seq int auto_increment primary key,
subject varchar(150) not null,
writer varchar(12) not null,
mail varchar(50),
password varchar(12) not null,
content varchar(2000),
filename varchar(50),
filesize int,
hit int not null,
wip varchar(15) not null,
wdate datetime not null
);
insert into album_board1 values (0, '제목', '이름', 'test@test.com', '1234', '내용', 'text.txt', 0, 0, '000.000.000.000', now() );
이전글
다음글
개발 환경
: window -> jdk -> apache-tomcat -> IDE(eclipse ...)
=> 배포(deployment)
서비스 환경
: window -> jdk -> apache-tomcat
document root
c:\java\apache-tomcat-9.0.74\webapps\ROOT*.jsp
새로운 웹앱 생성
c:\java\apache-tomcat-9.0.74\webapps\새 디렉토리 이름
c:\java\apache-tomcat-9.0.74\webapps\새 디렉토리 이름\WEB-INF
c:\java\apache-tomcat-9.0.74\webapps\새 디렉토리 이름*.jsp -> 실행
옮기는 순서
1. 라이브러리 이전
2. 설정파일 이전
3. beans
!버전확인하기
서비스/개발jdk의 버전을 통일 시켜야한다.
서비스 환경이 11버전이라 개발 환경도 11로 맞춰줌
4. 이미지/css/js
5. *.jsp
(이클립스로 만들어 놨기 때문에 폴더/파일은 붙여넣기만 해도 된다.)
1. C:\Java\apache-tomcat-9.0.74\webapps에 폴더(이하 website)생성 또는 VSC에서 앞서 말한 webapps를 선택하고 website를 생성한다.
2. website 안에 WEB-INF폴더 생성 -> 그 안에 lib 폴더 생성 -> 라이브러리를 넣는다.
3. website 안에 META-INF폴더 생성 -> context.xml 파일 붙여넣기
4. css/image/mariadb 폴더/파일이 있다면 붙여넣기)
5. 브라우저를 통해 실행
Ex) C드라이브에 저장하기
1. c드라이브에 폴더생성(이하 website)
2. website안에 website1폴더 생성
3. website1안에 설정폴더/파일 생성
4. C:\Java\apache-tomcat-9.0.74\conf\Catalina\localhost 안에
<?xml version="1.0" encoding="utf-8" ?>
<Context path="/website1" docBase="c:\website\website1" reloadable="true">
</Context>
를 적은 .xml파일 생성
5. vsc를 통해 간단한 jsp파일을 생성
6. 브라우저를 통해 실행
=> C:\Java\apache-tomcat-9.0.74\conf\Catalina\localhost 안에 있는 context.xml파일을 변경해준다. -> META-INF에 있는 context.xml은 필요없어진다.
<?xml version="1.0" encoding="utf-8" ?>
<Context path="/website1" docBase="c:\website\website1" reloadable="true">
<Resource
name="jdbc/mariadb3"
auth="Container"
type="javax.sql.DataSource"
driverClassName="org.mariadb.jdbc.Driver"
url="jdbc:mariadb://localhost:3306/board"
username="board"
password="1234" />
</Context>
!프로젝트 생성 시 체크박스 꼭 확인
클래스 생성
package sevrlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Hello Servlet");
}
}
web.xml 설정
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>ServletEx01</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
</welcome-file-list>
// 이 부분을 추가 해준다.
<servlet>
<servlet-name>first</servlet-name>
<servlet-class>servlet.FirstServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>first</servlet-name>
<url-pattern>/first</url-pattern>
</servlet-mapping>
//
</web-app>
package sevrlet;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FirstServlet extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
//System.out.println("Hello Servlet");
// html로 출력한다는 구문
resp.setContentType("text/html; charset=utf-8");
PrintWriter out = resp.getWriter();
out.println("<!DOCTYPE html>");
out.println("<html>");
out.println("<head>");
out.println("<charset=utf-8>");
out.println("</head>");
out.println("<body>");
out.println("Hello Servlet");
out.println("</body>");
out.println("</html>");
out.close();
}
}
web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" id="WebApp_ID" version="4.0">
<display-name>ServletEx02</display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>default.html</welcome-file>
<welcome-file>default.jsp</welcome-file>
<welcome-file>default.htm</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>servlet01</servlet-name>
<servlet-class>servlet.ServletEx01</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet01</servlet-name>
<!-- 경로요청 / 가상경로 -->
<url-pattern>/servlet01</url-pattern>
<url-pattern>/servlet02</url-pattern>
<url-pattern>/servlet03</url-pattern>
<url-pattern>/servlet/dir1</url-pattern>
<url-pattern>/servlet/dir2</url-pattern>
<!-- * - 어떤 말을 쓰던 요청됨 -->
<url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>servlet02</servlet-name>
<servlet-class>servlet.ServletEx02</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>servlet02</servlet-name>
<url-pattern>*.daum</url-pattern>
<url-pattern>*.naver</url-pattern>
</servlet-mapping>
</web-app>
실행 할 클래스
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class ServletEx02 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Hello ServletEx02");
}
}
xml
<servlet>
<servlet-name>form_ok</servlet-name>
<servlet-class>servlet.FormOkServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>form_ok</servlet-name>
<url-pattern>/form_ok.do</url-pattern>
</servlet-mapping>
jsp
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="form_ok.do" method="get">
데이터 : <input type="text" name="data" />
<input type="submit" value="get 전송" />
</form>
<form action="form_ok.do" method="post">
데이터 : <input type="text" name="data" />
<input type="submit" value="post 전송" />
</form>
</body>
</html>
실행 할 클래스
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
public class FormOkServlet extends HttpServlet {
/*
// post / get 상관없이 호출함
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("FormOkServlet");
}
*/
// 나눠서 호출
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("FormOkServlet - doGet");
System.out.println(req.getParameter("data"));
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
req.setCharacterEncoding("utf-8"); // 다국어 처리를 해줘야 한다.
System.out.println("FormOkServlet - doPost");
System.out.println(req.getParameter("data"));
}
}
package servlet;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@WebServlet(urlPatterns = {"/servlet01", "/servlet02"}) // xml에 사용했던 url-pattern
public class ServletEx01 extends HttpServlet {
@Override
protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
// TODO Auto-generated method stub
System.out.println("Hello Servlet");
}
}
package servlet;
import java.io.IOException;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class ServletEx04
*/
@WebServlet("/servlet")
public class ServletEx04 extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doProcess(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doProcess(request, response);
}
// get과 post를 합침
protected void doProcess(HttpServletRequest request, HttpServletResponse response) {
// TODO Auto-generated method stub
// html 출력을 생성
try {
request.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
StringBuilder sbHtml = new StringBuilder();
sbHtml.append("<!DOCTYPE html>");
sbHtml.append("<html>");
sbHtml.append("<head>");
sbHtml.append("<charset=utf-8>");
sbHtml.append("</head>");
sbHtml.append("<body>");
sbHtml.append("Hello Servlet");
sbHtml.append("</body>");
sbHtml.append("</html>");
PrintWriter out = response.getWriter();
out.println(sbHtml);
out.close();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
System.out.println("[에러] : " + e.getMessage());
} catch (IOException e) {
// TODO Auto-generated catch block
System.out.println("[에러] : " + e.getMessage());
}
}
}