실버크라운

JSP다운로드
유니티다운로드 블러드라인

실버크라운
main.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset = "utf-8"> 
<title>MAIN</title> 
<style> 
  td input { 
    width:120px; 
    display:inline-block; 
    height:50px; 
  } 
  td h2 { 
    text-align:center; 
  } 
</style> 
</head> 
<body> 
<table border="1"> 
<tbody> 
  <tr> 
    <td colspan="3"><h2>차량 현황 보기</h2></td> 
  </tr> 
  <tr> 
    <td><input type="button" value="삽입" onclick="location.href='carInsert.jsp'"></td> 
    <td><input type="button" value="전체보기" onclick="location.href='ShowCar.jsp'"></td> 
    <td><input type="button" value="모두삭제" onclick="location.href='delAllCarServlet.do'"></td> 
  </tr> 
</tbody> 
</table> 
</body> 
</html>

JSP Post방식에서 한글 깨짐 방지

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %> 
<!DOCTYPE html> 
<html> 
<head> 
<meta charset="UTF-8"> 
<title>Insert title here</title> 
</head> 
<body> 
  <% 
    request.setCharacterEncoding("UTF-8"); 
  %> 
  이름 : <%=request.getParameter("name")%> 
</body> 
</html>

받는 쪽에서 UTF-8로 캐릭터셋을 인코딩해주면 된다.

자바코드와 EL식 NULL 차이

<%@ 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.getParameter("id") %> <br> 
  EL 식 : ${param.id} 
</body> 
</html>

결과

자바 코드 : null 
EL 식 :

 

따라서 Java의 경우엔 null값이 나오지만,

EL식은 null값을 출력하지 않는 것을 알 수 있다.

EL방식에서의 사칙연산

<%@ 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> 
  고전적인 방식: <%--스크립트릿에서의 복잡한 자바 코드 --%> 
  <% 
    String str1 = request.getParameter("num1"); 
    String str2 = request.getParameter("num2"); 
     
    int num1 = Integer.parseInt(str1); 
    int num2 = Integer.parseInt(str2); 
  %> 
  <%=num1 %> + <%=num2 %> = <%=num1 + num2 %> <hr> 
  EL 방식 : <%-- 보다 깔끔하고 간단한 코드 --%> 
    ${param.num1 } + ${param.num2 } = ${param.num1+param.num2 } 
</body> 
</html>

결과 (num1에 1122, num2에 2211)

고전적인 방식: 1122 + 2211 = 3333 
EL 방식 : 1122 + 2211 = 3333

 

JSP(Java) ==와 .equals

Java에서와 마찬가지로 String형에 대해 ‘같음’을 정의하려면

.equals로 접근하는 것이 우리가 흔히 생각하는 ‘같음’으로 될 것이다.

<%@ 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> 
  자바 코드<br> 
  <% if(request.getParameter("id") != null) { %> 
    == 연산자 사용 결과 : <%=request.getParameter("id")=="pinksung" %> <br> 
    equals() 사용 결과 : <%=request.getParameter("id").equals("pinksung") %><br> 
  <% }else { 
      out.print("id를 전달해 주세요."); 
      } 
     %> 
</body> 
</html>

get방식으로 id를 pinksung으로 줄 경우 결과

자바 코드 
== 연산자 사용 결과 : false 
equals() 사용 결과 : true

 

JSP 랜덤사용 채널추첨기


확인하기(새 창)



위의 내용은 새로고침시 변경됩니다.

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<%@ page import="java.util.*" %> 
<%! 
  int type = 0; 
  int channel = 0; 
  int first, last = 0; 
  String channelStr, channelStr2; 
%> 
<!DOCTYPE HTML> 
<html> 
<head> 
<meta charset = "UTF-8"> 
<title>에픽빔 발사!</title> 
</head> 
<body> 
<% 
  Random r = new Random(); 
  type = r.nextInt(3); 
  int channelrandom = 0; 
  boolean isSingle = false; 
   
  switch(type) { 
  case 0: 
    channelrandom = r.nextInt(12); 
    channelStr = "일반지역"; 
    break; 
  case 1: 
    channelrandom = r.nextInt(5); 
    channelStr = "특수지역"; 
    break; 
  case 2: 
    channelrandom = r.nextInt(2); 
    channelStr = "일반채널"; 
    break; 
  default: 
    break; 
  } 
   
  if(type == 0) { 
    if(channelrandom == 0) { 
      first = 1; 
      last = 20; 
      channelStr2 = "실버크라운"; 
    } 
    else if(channelrandom == 1 || channelrandom == 3 || channelrandom == 5) { 
      first = 1; 
      last = 10; 
      if(channelrandom == 1) { 
        channelStr2 = "멜트다운"; 
      } 
      else if(channelrandom == 3) { 
        channelStr2 = "역천의 폭포"; 
      } 
      else if(channelrandom == 5) { 
        channelStr2 = "안트베르 협곡"; 
      } 
    } 
    else if(channelrandom == 2 || channelrandom == 4 || channelrandom == 8) { 
      first = 11; 
      last = 20; 
      if(channelrandom == 2) { 
        channelStr2 = "표류동굴"; 
      } 
      else if(channelrandom == 4) { 
        channelStr2 = "체념의 빙벽"; 
      } 
      else if(channelrandom == 8) { 
        channelStr2 = "파워스테이션"; 
      } 
    } 
    else if(channelrandom == 6) { 
      first = 1; 
      last = 5; 
      channelStr2 = "해상열차"; 
    } 
    else if(channelrandom == 7) { 
      first = 1; 
      last = 26; 
      channelStr2 = "시간의 문"; 
    } 
    else if(channelrandom == 9) { 
      first = 21; 
      last = 39; 
      channelStr2 = "노블스카이"; 
    } 
    else if(channelrandom == 10) { 
      first = 21; 
      last = 25; 
      channelStr2 = "죽은자의 성"; 
    } 
    else if(channelrandom == 11) { 
      first = 30; 
      last = 47; 
      channelStr2 = "메트로센터"; 
    } 
    else { 
      out.print("error : type is " + type + ", channel is " + channel); 
    } 
  } 
  else if(type == 1) { 
    if(channelrandom == 0) { 
      first = 21; 
      last = 25; 
      channelStr2 = "망자의 협곡"; 
    } 
    else if(channelrandom == 1){ 
      first = 1; 
      last = 10; 
      channelStr2 = "차원의 균열"; 
    } 
    else if(channelrandom == 2) { 
      first = 1; 
      last = 13; 
      channelStr2 = "이계 던전"; 
    } 
    else if(channelrandom == 3) { 
      first = 15; 
      last = 19; 
      channelStr2 = "고대 던전"; 
    } 
    else if(channelrandom == 4) { 
      first = 61; 
      last = 62; 
      channelStr2 = "거래 - 경매장"; 
    } 
  } 
  else if(type == 2) { 
    if(channelrandom == 0) { 
      isSingle = true; 
      channelStr2 = "거래 - 경매장"; 
    } 
    else if(channelrandom == 1) { 
      first = 63; 
      last = 64; 
      channelStr2 = "일반"; 
    } 
    else { 
      out.print("error : type is " + type + ", channel is " + channel); 
    } 
  } 
  if(isSingle == false) { 
    channel = r.nextInt((last-first)+1) + first; 
  } 
  else { 
    channel = 65; 
  } 
%> 
<%= channelStr %> <br> 
<%= channelStr2 %> &nbsp; 
<%=channel%>채널 
</body> 
</html>

 

[백업글]JSP 톰캣 WAR파일로 올리기

kakaotalk_20161028_205324016

tomcat 기본 홈페이지(localhost:8080 등)을 접속해보면 우측에 manager가 있다.

manager에서 (로그인 필요, 톰캣 유저 xml에 있음)  프로젝트 단위로 stop/start 시킬 수 있다.

(같은 이름의 프로젝트 war파일이 안 올려지는걸로 봐선 undeploy로 삭제 후 다시 올려야 할 것 같다.)

 

Eclipse IDE에서 Context를 자동으로 생성해  주는데,  이를 war파일로 묶어서 서버에 던질 경우 적용이 안 되어있을 수 있다.

이런 경우 수동으로 설정을 해 주어야 하는데,  이럴 땐 Undeploy가 안된다!! (해당 Context를 주석처리하면 Undeploy시킬 수 있다)

JSP태그로 Header와 Footer 처리하기

Main.jsp

<%@ 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>Insert title here</title> 
</head> 
<body> 
<jsp:include page="10_header.jsp"/> 
메인 화면입니다. <br> 
<a href="10_sub.jsp">서브 페이지로 이동</a> 
<jsp:include page="10_footer.jsp"/> 
</body> 
</html>

Header.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<h3> 이부분은header입니다.</h3> 
<hr>

Footer.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8" 
    pageEncoding="UTF-8"%> 
<hr> 
<h4> 이부분은footer입니다.</h4>

 

Sub.jsp

<%@ 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>Insert title here</title> 
</head> 
<body> 
<jsp:include page="10_header.jsp"/> 
서브 화면입니다. <br> 
<a href="10_main.jsp">메인 페이지로 되돌아가기</a> 
<jsp:include page="10_footer.jsp"/> 
</body> 
</html>

[백업글]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 method="post" action="04_testLogin.jsp"> 
<label for="userid"> 아이디 : </label> 
<input type="text" name="id" id="userid"><br> 
<label for="userpwd"> 암 &nbsp; 호 : </label> 
<input type ="password" name="pwd" id="userpwd"><br> 
<input type="submit" value="로그인"> 
</form> 
</body> 
</html>

 

JSP Application

<%@ 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>Insert title here</title> 
</head> 
<body> 
<% 
String appPath = application.getContextPath(); 
String filePath = application.getRealPath("06_application.jsp"); 
String serverInfo = application.getServerInfo(); 
%> 
웹 애플리케이션의 컨텍스트 패스명<br> 
<b><%=appPath%></b><hr> 
웹 애플리케이션의 파일 경로명<br> 
<b><%=filePath%></b><br> 
컨테이너의 이름과 버전 번환<br> 
<b><%=serverInfo%></b><br> 
</body> 
</html>