일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- Resource #
- Java#정처기#비트연산자#정보처리기사
- Java#java#자바#다오#디티오#브이오#dao#dto#vo
- 국비지원JAVA
- #
- html#HTML#프론트엔드#개발자#코딩#국비지원#국비교육#국비지원프론트엔드#국비지원HTML#국비지원html#국비프론트엔드
- IntelliJ#인텔리제이#인텔리#단축키
- 국비지원JAVA#국비지원자바#프로그랭#JSP#국비지원JSP#국비교육JSP#웹개발자#코딩
- 항해플러스#항해#항해플러스3기#회고
- 개발자도서#개발자책#도메인#DDD#도메인주도개발시작하기#개발스터디#
- 쿼리스트링#쿼리문자열#바인딩
- tibero#티베로#이중화#failvover
- 자바
- #java#JAVA#프로그래밍#웹개발자
- Java#java#메모리영역#클래스로더#가비지컬렉터
- 자바#Java#배열예시#연습#기초다지기
- 국비지원자바#국비교육자바#국비지원java#국비교육java#자바스크립트#프론트엔드
- Java#컴파일러#자바컴파일러#
- 항해99 #항해플러스 #주니어개발자 #주니어개발자역량강화 #주니어개발자멘토링 #개발자사이드프로젝트 #코딩부트캠프 #코딩부트캠프후기
- 개발자#it도서#도메인#DDD#ddd
- db#데이터베이스#오라클#sql
- Spring#spring#스프링#스프링프레임워크#스프링자동주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- 프로그래밍
- Spring#spring#스프링#스프링프레임워크#스프링의존성주입#스프링생성자#스프링기본#국비지원#국비교육#국비지원스프링
- spring#Spring#RequestBody#ResponseBody
- Java#JAVA#매개변수
- 국비지원JAVA#국비교육JAVA#국비지원자바#국비교육자바#JSP#SERVLET#서블릿#
- 국비지원#국비교육
- 국비지원#국비교육#국비지원자바#국비교육자바#css#HTML#JAVA
- java
- Today
- Total
개린이 개발노트
국비지원 JAVA(자바) 프로그래밍 (JSP,SERVLET,서블릿,스크립트릿,선언문) 본문
입력한 정보
이름~
아이디~ 나오게끔
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form method="post" action="pw">
아이디 : <input type="text" name="id"> <br>
비밀번호 : <input type="password" name="pw"> <br>
<input type="submit" value="로그인">
</form>
</body>
</html>
package com.login.controller;
import java.io.IOException;
import java.io.PrintWriter;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.sun.xml.internal.bind.v2.runtime.Name;
import sun.print.PSPrinterJob.PluginPrinter;
@WebServlet("/pw") // html에 있는 action 이름 입력
public class Idpw extends HttpServlet {
private static final long serialVersionUID = 1L;
public Idpw() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
String id = request.getParameter("id");
String pw = request.getParameter("pw");
PrintWriter out = response.getWriter();
out.print("입력한 정보<br>");
out.print("아이디 : "+id+"<br>");
out.print("아이디 : "+pw+"<br>");
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
doGet(request, response);
}
}
라디오 버튼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form method="get" action="radio">
성별 : <input type="radio" name="gender" value="남자">남자
<input type="radio" name="gender" value="여자">여자
<br>
광고 수신 여부 : <input type="radio" name="ad" value="수신"> 수신
<input type="radio" name="ad" value="수신"> 차단
<br>
자기소개 <br>
<textarea name="content" rows="3" cols="35"></textarea>
<br>
<input type="submit" value="전송">
</form>
</body>
</html>
package com.login.controller;
import java.io.IOException;
import java.io.PrintWriter;
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 RadioServlet
*/
@WebServlet("/radio")
public class RadioServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public RadioServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html; charset=utf-8");
String gender = request.getParameter("gender");
String ad = request.getParameter("ad");
String con = request.getParameter("content");
PrintWriter out = response.getWriter();
out.print("입력한 내용<br>");
out.print("성별: "+ gender+"<br>" );
out.print("광고수신여부: "+ ad+"<br>" );
out.print("자기소개<br>" );
out.print("<pre>"+con+ "</pre>"); //pre 태그로 줄바꿈 처리
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
체크박스
향상된 for문
for( 해당배열의자료형 변수 (반복용->for문에서 i와 같은) : 반복시킬 배열)
-> 배열 크기만큼 알아서 반복 시킴
-> 0번방부터 반복시킬 배열을 하나하나씩 반복용 변수에 넣어주는 방식으로
ex) int[] arr= [1,5,10,15];
for(int a : arr) // 4번 반복함
첫번째 반복: a = arr[0] a에 a 0번방 대입 후 코드처리
두번째 반복 a= arr[1] a에 1번방 대입 후 코드처리
세번째 반복 a= arr[2] a에 2번방 대입 후 코드처리
네번째 반복 a= arr[3] a에 3번방 대입 후 코드처리
--반복종료--
if (lines==null) {
out.print("선택된 라인이 없습니다.");
} else {
out.print("--선택한 라인--<br>");
for(String line : lines) {
out.print(line+"<br>");
}
}
회원가입 get 방식
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Insert title here</title>
</head>
<body>
<form method="get" action="join">
이름 <span style="color: red">*</span> <input type="text" name="name"><br>
주민등록번호<span style="color: red">*</span> <input type="text" name="num">-<input
type="text" name="num2"><br> 아이디<span style="color: red">*</span>
<input type="text" name="id"><br> 비밀번호<span
style="color: red">*</span> <input type="text" name="pw"><br>
비밀번호 확인<span style="color: red">*</span> <input type="text"
name="pwchk"><br> 이메일 <input type="text" name="email">
@<input type="text" name="email_dn"> <select name="emailaddr">
<option value="">직접입력</option>
<option value="gamil.com">gamil.com</option>
<option value="naver.com">naver.com</option>
<option value="daum.net">daum.net</option>
</select> <br> 우편번호 <input type="text" name="adnum"><br>
주소 <input
type="text" name="adress"> <input type="text" name="adress2"><br>
핸드폰번호 <input type="text" name="phnum"><br>
직업 <select name="job">
<option value="학생">학생</option>
<option value="직장인">직장인</option>
<option value="자영업자">자영업자</option>
<option value="프리랜서">프리랜서</option>
</select> <br>
메일/SMS정보수신 <input type="radio" name="info" value="수신"> 수신
<input type="radio" name="info" value="수신거부">수신거부<br>
관심분야 <input type="checkbox" name="lang" value="JAVA"> JAVA
<input type="checkbox" name="lang" value="HTML/CSS"> HTML/CSS
<input type="checkbox" name="lang" value="JAVA Script"> JAVA Script
<input type="checkbox" name="lang" value="Servlet"> Servlet
<input type="checkbox" name="lang" value="JSP"> JSP <br>
<input type="submit" value="회원가입"> <input type="reset" value="취소">
</form>
</body>
</html>
package com.login.controller;
import java.io.IOException;
import java.io.PrintWriter;
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 JoinServlet
*/
@WebServlet("/join")
public class JoinServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
public JoinServlet() {
super();
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setCharacterEncoding("utf-8");
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
String name = request.getParameter("name");
out.print("이름 : "+name+"<br>");
int num = Integer.parseInt(request.getParameter("num"));
int num2 = Integer.parseInt(request.getParameter("num2"));
out.print("주민번호 : "+num+"-"+num2+"<br>");
String id = request.getParameter("id");
out.print("아이디 :" + id + "<br>");
String pw = request.getParameter("pw");
out.print("비밀번호 :" + pw +"<br>");
String pwchk = request.getParameter("pwchk");
out.print("비밀번호확인 :" + pwchk +"<br>");
String email= request.getParameter("email");
if (request.getParameter("email_dn")=="") {
email += "@" + request.getParameter("emailaddr");
} else {
email += "@" + request.getParameter("email_dn");
}
out.print("이메일: " + email + "<br>");
String adnum = request.getParameter("adnum");
out.print("우편번호:"+adnum+ "<br>");
String addr = request.getParameter("adress")+ " "+
request.getParameter("adress2");
out.print("주소: " + addr + "<br>");
String phone = request.getParameter("phnum");
out.print("핸드폰번호 : " +phone + "<br>");
String job = request.getParameter("job");
out.print("직업: " +job +"<br>");
String info = request.getParameter("info");
out.print("메일/sms 수신여부:"+ info + "<br>");
String[] langs = request.getParameterValues("lang");
if (langs==null) {
out.print("관심분야가 없습니다");
} else {
out.print("관심분야 : ");
for (String itt : langs) {
out.print(itt+ " ");
}
}
out.close();
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
Post 방식
<form method="post" action="join">
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
request.setCharacterEncoding("utf-8");
doGet(request, response);
}
}
-> response가 아닌 request로
JSP 쓰는이유
java server page
JSP로 작업한 파일을 -> 자바파일로 변환-> 컴파일 -> 클래스
예제.jsp-> 예제02_jsp.java->예제_jsp.class
C:\Users\user\Desktop\JSP 공부\20220118\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\work\Catalina\localhost\20230118\org\apache\jsp
여기로 들어가보면
위와 같이 설정되어있음.
서블릿은 자바안에 html 코드를 쓸 수 있고
jsp는 html 안에 자바코드를 쓸수 있음-> 자바로 변환
jsp는 클라이언트(사용자) 요청-> 서블릿 코드냐? -> 서블릿 아님-> 서블릿변환-> 컴파일->로드
클라이언트 응답-> 한번 요청된 jsp는 -> 로드-> 응답
서블릿은 요청->컴파일->로드-> 응답 순
jsp 기본설정
마지막으로 JSP UTF-8 누르고 UPDATE 까지 한다음 APPLY AND CLOSE
JSP/서블릿 컨텍스트 패스(Context Path)
컨텍스트 패스를 숨기거나 바꾸는 방법
경로 안보이게 하는법
톰캣에server.xml 선택한 후 find 에서 Context 를 찾고
위 와같이 /cp 설정되어있는 것을
/ 하나로만 바꾸면
이런식으로cp가 사라져있다!
JSP 태그
<% %> : 스크립트릿(scriptlet) - 자바 코드를 작성
- JSP = HTML + JAVA
- html작성된 위치에 코드가 만들어짐
<%! %> : 선언문 - 자바 코드 작성
- 변수, 메서드 생성시 여기에 저장됨
- 선언문으로 작업한 코드는 클래스 바로 아래에 정의가 됨
<%@ 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>
<h3>여기 아래는 선언문 작성</h3>
<%!
String str = "hi";
int a = 10;
int b = 20;
public int add(int x, int y) {
return x+y;
}
%>
<h3>선언문 끝</h3>
<h3>스크립트릿 시작</h3>
<%
out.print("<h5>" + str + "<h5>");
out.print("두수의 합 : " + add(a,b));
%>
<h3>스크립트릿 끝</h3>
</body>
</html>
'국비지원(국비교육) 웹 개발자 과정' 카테고리의 다른 글
국비지원 JAVA(자바) 프로그래밍 (application 내장 객체 ) (0) | 2023.01.20 |
---|---|
국비지원 JAVA(자바) 프로그래밍 (JSP,표현식,MVC,MVC패턴,오브젝트비교) (0) | 2023.01.19 |
국비지원 JAVA(자바) 프로그래밍 (뷰(View), 가상테이블,ERDM,ERDCloud, lucidchart ,JSP,servlet(서블릿)) (0) | 2023.01.17 |
국비지원 JAVA(자바) 프로그래밍 (데이터베이스, SQL문,제약조건,공공데이터포털,트랜잭션) (0) | 2023.01.16 |
국비지원 JAVA(자바) 프로그래밍 (데이터베이스, 오라클,SQL,SQLD,) (0) | 2023.01.13 |