Full Stack 교육 회고록
9/23- JSP
순두부 호랑이
2022. 9. 23. 12:39
728x90
SMALL
<Ex01 JSPtag.jsp>
<!-- 지시자 : JSP 페이지의 환경설정-->
<!-- contentType(UTF-8) 브라우저에게 인코딩방식 지정 -->
<!-- pageEncoding: JSP 페이지 자체 인코딩 -->
<!-- meta charset: html 코드 인코딩 -->
<%@page import="java.util.Random"%>
<%@ 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>
<!-- 스크립틀릿: 자바코드 -->
<!-- 지역변수 -->
<% int num1 =10;%>
<!-- 선언문: 메서드 변수 선언 -->
<!-- 전역변수 -->
<%!int num2=20;%>
<%!
public int add(int num1, int num2){
return num1+num2;
}
%>
<!-- 표현식: 값을 화면(브라우저)에 출력하기 위해 사용, 변수, 상수, 메서드호출, 연산자 -->
<%=num1 %>
<%=add(num1,num2) %>
<%=num2+10 %>
<%Random rd=new Random();%>
</body>
</html>
<Ex02hap.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>
<%
int sum=0;
for(int i=1; i<=100; i++){
sum+=i;
}
%>
<%= "1~100까지의 합: "+sum %>
1~100까지의 합: <%=sum %>
</body>
</html>
<ex03table.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>
<table border=1>
<tr>
<% for(int i=1; i<=10; i++){%>
<td><%=i %></td>
<%} %>
</tr>
</table>
<table border=1>
<tr>
<% for(int i=1; i<=10; i++){
out.print("<td>"+i+"</td>");
}%>
</tr>
</table>
</body>
</html>
<ex04 output.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>
<%
//POST 방식으로 한글 데이터 전송시 인코딩!
request.setCharacterEncoding("UTF-8");
int value1 = Integer.parseInt(request.getParameter("value1"));
int value2 = Integer.parseInt(request.getParameter("value2"));
String ope = request.getParameter("ope");
int result=0;
if(ope.equals("plus")){
result =value1+value2;
ope="+";
}else if(ope.equals("minus")){
result=value1-value2;
ope="-";
}else if(ope.equals("mul")){
result=value1*value2;
ope="*";
}else{
result=value1/value2;
ope="/";
}
%>
<%= value1+ope+value2 +"="+ result %>
</body>
</html>
<ex04plus.java>
package com.smhrd.servlet;
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;
@WebServlet("/Ex04Plus")
public class Ex04Plus extends HttpServlet {
private static final long serialVersionUID = 1L;
protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
int num1 = Integer.parseInt(request.getParameter("num1"));
int num2 = Integer.parseInt(request.getParameter("num2"));
String ope= request.getParameter("ope");
//printWriter(출력스트림)
PrintWriter out= response.getWriter();
out.print("<html>");
out.print("<body>");
if(ope.equals("plus")) {
out.print(num1+" +"+num2+"= "+(num1+num2));
}else if(ope.equals("minus")) {
out.print(num1+" -"+num2+"= "+(num1-num2));
}else if(ope.equals("mul")) {
out.print(num1+" *"+num2+"= "+(num1*num2));
}else {
out.print(num1+" /"+num2+"= "+(num1/num2));
}
out.print("</html>");
out.print("</body>");
}
}
<ex04 return.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>
<%
//POST 방식으로 한글 데이터 전송시 인코딩!
request.setCharacterEncoding("UTF-8");
String value = request.getParameter("value");
%>
<%= value %>
</body>
</html>
<ex06abs.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>
<!-- 선언문: 변수, 메서드 선언시 사용 -->
<%!
//정수형(음수/양수) 1개-> 절댓값을 반환하는 메서드
public int abs(int num){
return (num>=0)?num:-num;
}
%>
<%= abs(5) %>
<%= abs(-5) %>
</body>
</html>
728x90
LIST