springmvc라는 새 Dynamic Web Poject 만들고 Hello World 출력해봐.
복습에 또 복습이지.
1. new Dynamic Web Poject –> springmvc ; 주의 web.xml생성
2. Project 속성 : Properties –> UTF-8로 설정
3. Library에 jar파일 복사
- \spring-framework-2.5.6.SEC01\dist\spring.jar
- \spring-framework-2.5.6.SEC01\dist\modules\spring-webmvc.jar
- \spring-framework-2.5.6.SEC01\lib\j2ee\jstl.jar
- \spring-framework-2.5.6.SEC01\lib\jakarta-commons\commons-logging.jar
- \spring-framework-2.5.6.SEC01\lib\jakarta-taglibs\standard.jar
4. web.xml : Encoding Filter, FrontController-DispatcherServlet 등록
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>springmvc</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>Set Character Encoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
5.Spring Bean Configuration File ( dispatcher-servlet.xml )생성 (파일명은 ‘servlet이름-servlet.xml’로 )하고, BeanNameUrlHadlerMapping ( dispatcher-servlet.xml에 스피링 빈 정의)
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean name="/HelloWorld.do" class="test.HelloWorld" /> </beans>
6.Controller 클래스 작성 (Bean등록한 test.HelloWorld Class구현)
package test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.mvc.AbstractController; public class HelloWorld extends AbstractController{ @Override protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { // TODO Auto-generated method stub ModelAndView mav = new ModelAndView(); mav.setViewName("/WEB-INF/view/helloworld.jsp"); mav.addObject("msg", "Hello World"); return mav; } }
7.view page(helloworld.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> <h1>${msg }</h1> </body> </html>
8. 실행(http://localhost/pspringmvc/Helloword.do). 실행하기 편하게 index.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> <% response.sendRedirect("HelloWorld.do"); %> </body> </html>