ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • JSP의 기본 사용 방법
    Spring 2021. 6. 18. 14:30

     

     

     

    이클립스 jsp사용방법(프로젝트 생성하기)

     

     

    프로젝트명 작성
    소스 폴더 설정
    디렉토리 설정

     

     

     

    jsp파일에서 자바문법 사용방법

    <html>
    
    <body>
    
    <h3>Hello World of Java!</h3>
    
    The time on the server is <%= new String("Hello world").toUpperCase() %>
    
    
    <%
    	for(int i = 1; i<=5; i++){
    		out.println("<br/> I really love java" + i);
    	}
    %>
    
    
    </body>
    </html>

    계산, Boolean 사용방법

     

    <%= 25*4%>
    <br/>
    <%= 25<4%>
    <br/>

     

    함수 사용방법

    <%!
    	String makeItLower(String data){
    	return data.toLowerCase();
    }
    %>
    <br/>
    make it lower HELLO WORLD : <%= makeItLower("HELLO WORLD") %>
    
    <br/>

     

    다른 자바페이지의 함수를 가져와서 사용하는 방법

     

    <%@ page import = "com.yunhalee.jsp.*, java.util.ArrayList" %>
    
    
    <%=FunUtils.makeItLower("FUn FUn Fun") %>
    

    com.yunhalee.jsp.FunUtils 파일

    package com.yunhalee.jsp;
    
    public class FunUtils {
    	
    	public static String makeItLower(String data) {
    		return data.toLowerCase();
    	}
    }
     

     

     

    다른 html, jsp파일의 내용을 가져와서 사용하는 방법

    <html>
    <body>
    
    <jsp:include page = "my-header.html"/>
    
    Blah Blah Blah... <br/> 
    Blah Blah Blah... <br/> 
    Blah Blah Blah... <br/> 
    
    
    <jsp:include page = "my-footer.jsp"/>
    </body>
    </html>

     

    빌트인 objects 기능을 사용해서 사용자(user-Agent)와 언어를 알아내는 방법

    <html>
    
    <body>
    
    <h3>JSP Built - in Objects</h3>
    
    Request user agent: <%= request.getHeader("user-Agent") %>
    
    <br/>
    
    Request language : <%= request.getLocale() %>
    </body>
    </html>

     

     

     

    html에 작성한 내용을 submit을 통하여 jsp파일에 보여주도록 하는 방법

     

    student-form.html

    (여기서 체크박스는 여러개의 선택이 가능하다)

    <html>
    <head><title> Student Registration Form</title> </head>
    <body>
    
    <form action = "student-response.jsp">
      First name : <input type="text" name = "firstName"/>
      <br/>
      Last name : <input type="text" name = "lastName"/>
      <br/>
      
      <select name = "country">
    	  <option>Brazil</option>
    	  <option>France</option>
    	  <option>South Korea</option>
    	  <option>England</option>
    	  <option>U.S</option>
      </select>
      <br/>
      
      Favorite Programming Language : <br/>
      <input type="radio" name="favoriteLanguage" value="Java"/>Java
      <input type="radio" name="favoriteLanguage" value="Python"/>Python
      <input type="radio" name="favoriteLanguage" value="Javascript"/>Javascript
      <input type="radio" name="favoriteLanguage" value="C#"/>C#
      <br/>
      
      Favorite Programming Languages : <br/>
      <input type="checkbox" name="favoriteLanguages" value="Java"/>Java
      <input type="checkbox" name="favoriteLanguages" value="Python"/>Python
      <input type="checkbox" name="favoriteLanguages" value="Javascript"/>Javascript
      <input type="checkbox" name="favoriteLanguages" value="C#"/>C#
      <br/>
    
      <input type="submit" value="Submit"/>
      <br/>
     
    </form>
    </body>
    </html>

    student-response.html

    (여기서 여러개의 정보를 받아올때(체크박스)는 배열을 사용해주고 

    만약 아무것도 선택하지 않아 배열이 null일때 계속 진행하면 null point exception이 발생하므로 

    다음과 같이 처리를 해준다 ( if( ~~!=null){}))

    <html>
    
    <head>
    <title> Student Confirmation Title</title>
    </head>
    
    <body>
    	The student is confirmed : ${param.firstName} ${param.lastName }
    	<br/><br/>
    	The student's country : ${param.country}
    	<br/> <br/>
    	The student's favorite programming language : ${param.favoriteLanguage}
    	<br/><br/>
    	<!-- display list of "favoriteLanguages -->
    	Favorite Programming Languages : <br/>
    	<ul>
    		<%
    			String[] langs = request.getParameterValues("favoriteLanguages");
    			
    			if(langs !=null){
    				for(String tempLang: langs){
    					out.println("<li>" + tempLang + "</li>");
    				}
    			}
    
    		%>
    	</ul>
    </body>
    </html>

     

     

     

     

     

     

Designed by Tistory.