Spring

18. 서블릿과JSP(3) - 패스트캠퍼스 백엔드 부트캠프 3기

gkss2tpt 2025. 2. 4. 16:01

1. URL 패턴

// @WebServlet(urlPatterns={"/hello", "/hello/*"}, loadOnStartup=1)
   @WebServlet("/hello")
   public class HelloServlet extends HttpServlet
  • loadOnStartup : Servlet은 lazyinit -> 미리 초기화, =1 : 우선순위
  • exact mapping : 정확히 일치하는 것
  • path mapping : 경로 매핑
  • extension mapping : 확장자 매핑
  • default mapping : 모든 주소 

  • Spring에서는 DispatcherServlet이 모든 요청을 다 받는다.
    <servlet>
        <servlet-name>appServlet</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>
		
    <servlet-mapping>
        <servlet-name>appServlet</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

 

2. EL (Expression Language)

  • <%=값%> -> ${값} (간단, 편리)
public class Person {
	private Car car = new Car(); 
	public  Car getCar() { return car; }
}

public class Car {
	private String color = "red"; 
	public String getColor() { return color; }
}
  • el.jsp
<%@ page contentType="text/html;charset=utf-8"%>
<%@ taglib prefix="c"   uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ page import="com.fastcampus.ch2.*" %>
<%
    Person person = new Person();
    request.setAttribute("person", person);
    request.setAttribute("name", "남궁성");   
    request.setAttribute("list", new java.util.ArrayList());	
%>
<html>  
<head>   
    <title>EL</title>   
</head>  
<body>   
person.getCar().getColor()=<%=person.getCar().getColor()%> <br>
person.getCar().getColor()=${person.getCar().getColor()} <br>
person.getCar().getColor()=${person.car.color} <br>    
name=<%=request.getAttribute("name")%> <br>   
name=${requestScope.name} <br>
name=${name} <br>
id=<%=request.getParameter("id")%> <br>
id=${pageContext.request.getParameter("id")} <br>
id=${param.id} <br>
"1"+1 = ${"1"+1} <br>
"1"+="1" = ${"1"+="1"} <br>
"2">1 = ${"2">1} <br>   
null = ${null}<br>	// null은 표시 안됨
null+1 = ${null+1} <br> // null은 0취급
null+null = ${null+null} <br>
"" + null = ${""+null} <br>   
""-1 = ${""-1} <br> 
empty null=${empty null} <br>
empty list=${empty list} <br>
null==0 = ${null==0} <br>
null eq 0 = ${null eq 0} <br>
name == "남궁성"=${name=="남궁성"} <br>
name != "남궁성"=${name!="남궁성"} <br>
name eq "남궁성"=${name eq "남궁성"} <br>  
name ne "남궁성"=${name ne "남궁성"} <br>  
name.equals("남궁성")=${name.equals("남궁성")} <br>   
</body>
</html>
  • jsp->서블릿변환 파일 경로

  • Arguments -> deploy경로(\tmp0\work\Catalina\localhost\ch2\org\apache\jsp)

  • Clean Tomcat Work Directory로 삭제가능