5장- jsp

2024. 1. 4. 21:08Daily Codig Reminder

package com.controller;

import java.io.IOException;
import java.util.Iterator;

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 test
 */
@WebServlet("/test")
public class test extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public test() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		String name ="홍길동";
		System.out.println(name);
//		int num=100;
//		if (num==10) {
//			out.print("같다");
//		}else {
//			out.print("다르다");
//		}
//		for (int i = 0; i < 10; i++) {
//			out.print("=========="+i);
//		}
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

 

<%@ 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>
<% System.out.println("hello.jsp");
String name ="홍길동";
System.out.println(name);
String aa = null;
%>

<h1>JSP 기본실습</h1>
hello!! <br>
안녕하세요!!<%= name %>
<%--<%= aa.length()%> --%><!-- jsp 주석 -->
<!-- jsp 태그가 먼저 실행되고 출력결과가 html에 추가되어
사용자는 html만 보게됨 -->
<% int num=100; %>
if문의 시작<br>
<% if (num==10) {%>
			같다<%= num %>
		<%}else { %>
			다르다 <%= num %>
		<% } %>
<hr>
<%for (int i = 0; i < 10; i++) { %>
		for 반복 <%=i %> &nbsp&nbsp&nbsp	<% out.print("홍길동");%> <br>
	<% }%>	
</body>
</html>

filter

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<form action="TestServlet" method="Post">
	<input type="text" name="data">
	<input type="submit">
</form>
<hr>
<form action="TestServlet2" method="Post">
	<input type="text" name="data">
	<input type="submit">
</form>
</body>
</html>

 

package com.controller;

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;

/**
 * Servlet implementation class TestServlet
 */
@WebServlet("/TestServlet")
public class TestServlet extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public TestServlet() {
        super();
        // TODO Auto-generated constructor stub
    }


	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("TestServlet.doGet");
		String data= request.getParameter("data");
		System.out.println(data);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

package com.filter;

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;

public class MyEncodingFiter  implements Filter{

	@Override
	public void destroy() {
		System.out.println("MyEncodingFiter.destory");
		
	}

	@Override //이름 변경
	public void doFilter(ServletRequest request, 
			ServletResponse response, FilterChain chain)
			throws IOException, ServletException {
		System.out.println("MyEncodingFiter.doFilter요청");
		//request 인코딩설정
		request.setCharacterEncoding("utf-8");
		chain.doFilter(request, response); //요청한 servlet 에
		//request와 response를 연결시켜줌 		
		System.out.println("MyEncodingFiter.doFilter응답");		
	}

	@Override
	public void init(FilterConfig arg0) throws ServletException {
		System.out.println("MyEncodingFiter.doFilter init");
		
	}

}

 

 

package com.controller;

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;

/**
 * Servlet implementation class TestServlet2
 */
@WebServlet("/TestServlet2")
public class TestServlet2 extends HttpServlet {
	private static final long serialVersionUID = 1L;
       
    /**
     * @see HttpServlet#HttpServlet()
     */
    public TestServlet2() {
        super();
        // TODO Auto-generated constructor stub
    }

	/**
	 * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("TestServlet2.doGet===============");
		String data= request.getParameter("data");
		System.out.println(data);
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
	 */
	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

 

<?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_3_1.xsd" id="WebApp_ID" version="3.1">
	<filter>
		<filter-name>MyEncodingFilter</filter-name>
		<filter-class>com.filter.MyEncodingFiter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>MyEncodingFilter</filter-name>
		<url-pattern>/*</url-pattern><!--  모든 주소에 대해 처리함 -->
	</filter-mapping> 
</web-app>

scriptlet

package com.controller;

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;

/**
 * Servlet implementation class TestServelt
 */
@WebServlet("/TestServelt")
public class TestServelt extends HttpServlet {

       
	//declaration tag : 맴버변수/맴버메소드 작성시 사용
	int num=10;
	public String a(String tt){//함수 선언 
		System.out.println("a() 함수 실행 ========" + tt);
		return tt;
	}    

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
			System.out.println(num);
			System.out.println(a("hello"));
	}


	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		// TODO Auto-generated method stub
		doGet(request, response);
	}

}

 

<%@page import="java.util.HashMap"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%-- <%@ page import="java.util.Date" %> --%>
<%@ page import="java.util.Date" %>
<%@ page import="java.util.ArrayList" %>

    <!-- html 주석 -->
    <%-- jsp 주석 --%>
    <%! 
    	//declaration tag : 맴버변수/맴버메소드 작성시 사용
    	int num=10;   //멤버변수
    	public String a(int tt){//멤버 함수 선언 
    		System.out.println("a() 함수 실행 ========" + tt);
    		return "test";
    	}    
    %>
    <%
    	//scriptlet 에서 사용하는 코드는 
    	//serlvet의 doGet, doPost 안으로 적용됨
    	System.out.println(num);
    System.out.println( a(10));  		 
   		 
   		 
    	Date d = new Date();
    	System.out.println(d);
    	ArrayList x= new ArrayList(); 
    	x.add(10);
    	System.out.println(x.get(0));
    %>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<%  //doget 
	String str="홍길동";
	System.out.println("body 사이의 %태그에서 출력 :"+ str);//콘솔에 출력 
%>
브라우저에 출력 : <%= str %>  <br>
num : <%= num %><br>
<%= a(100) %>   <!-- 함수 호출 리턴 값 출력  -->
</body>
</html>

 

<%@page import="java.util.*"%>

<%@ 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>
////////////////////if test
<% int a=10;
if(a>=10){
%>
	크다

<% }else{ %>
	작다

<%} %>
<hr>
////////////////for test/////////////<br>
<% 
	List<String> list=
	Arrays.asList("홍길동", "이순신", "유관순");
	for(String s: list){
%>
이름 :  <%= s %> <br>

<% } %>
///////////////////////
<hr>

<% 
int sum=0;
for(int i=0; i<=10; i++){
		sum+=i;
		out.print(sum+"<br>");   //out내장객체의 사용 
	}
 out.print("<br>"+sum);// 브라우저에 출력 
%>
//////////////////////////////
<%-- <%= sum %> --%>
<hr>
<% 
int sum2=0;
for(int i=0; i<=10; i++){
		sum2+=i; 
%>
		 <%=  i %> : <% out.print(sum2); %> <br>
<% 	}
 out.print("<br>"+sum2);// 브라우저에 출력 
%>
<hr>

<%
for(int i=0; i<=10; i++){
%>
    i= <%=i %><br>
<%} %>

<hr>
<%
for(int i=0; i<=10; i++){
	if(i%2==0){
%>
    i=<%=i %><br>
<%
	}
} %>
<hr>
<%
	int result=0;
	for(int i=0; i<=10; i++){
		result+=i;
	}
%>
    result=<%=result %><br>

</body>
</html>

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a href="sample2.jsp">sample2.jsp</a>
<form action="sample2.jsp" method="post">
	<button>이동</button>
</form>
</body>
</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>
<% //내장객체 request, session, application 은 import 와 new 없이 사용이 가능함
//get, post 동일하게 처리
String data= request.getParameter("userid");
System.out.println(data);
request.setAttribute("CCC","ccc");
application.setAttribute("BBB", "BBB"); //servletContext

session.setAttribute("AAA","AAA"); //session 내장객체 사용
out.print("홍길동"); //out을 사용하여 바로 출력가능 //document.write
%>
</body>
</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>
<% 
out.print(request.getParameter("userid")+"<br>");
out.print("request: "+request.getAttribute("CCC")+"<br>");
out.print("session: "+request.getAttribute("AAA")+"<br>");
out.print("application: "+application.getAttribute("BBB")+ "<br>");
out.print(application.getAttribute("xxx")+ "<br>");
out.print("홍길동<br>");
%>
</body>
</html>

'Daily Codig Reminder' 카테고리의 다른 글

mvc  (0) 2024.01.11
jsp2  (0) 2024.01.04
servlet 2 + my batis  (1) 2024.01.02
servlet  (0) 2023.12.31
event  (1) 2023.12.31