- 전체
- JAVA 일반
- JAVA 수학
- JAVA 그래픽
- JAVA 자료구조
- JAVA 인공지능
- JAVA 인터넷
- Java Framework
- Java GUI (AWT,SWING,SWT,JFACE)
- SWT and RCP (web RAP/RWT)[eclipse], EMF
Java Framework [스프링] 스프링 MVC
2014.06.11 23:19
MVC 설정
[츨처] http://java-school.net/spring/currentSpringMVCConfig.php
스프링 웹 애플리케이션을 만들려면 핸들러 테스트부터 해야 한다고 생각한다.
핸들러를 적용하는 예제를 최대한 간단하게 실습해 보자.
web.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | <?xml version="1.0" encoding="ISO-8859-1"?> xsi:schemaLocation="http://java.sun.com/xml/ns/javaee version="3.0" metadata-complete="true"> <servlet> <servlet-name>hello</servlet-name> <servlet-class> org.springframework.web.servlet.DispatcherServlet </servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>hello</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app> |
hello-servlet.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | <?xml version="1.0" encoding="UTF-8"?> xsi:schemaLocation="http://www.springframework.org/schema/beans <mvc:annotation-driven /> <context:component-scan base-package="net.java_school.user.spring,net.java_school.user" /> <!-- ViewResolver --> <bean id="internalResourceViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value> </property> <property name="prefix"> <value>/WEB-INF/jsp/</value> </property> <property name="suffix"> <value>.jsp</value> </property> </bean> </beans> |
User.java
package net.java_school.user;
public class User {
private String id;
private String passwd;
private String name;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getPasswd() {
return passwd;
}
public void setPasswd(String passwd) {
this.passwd = passwd;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
UserDao.java
package net.java_school.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
@Repository
public class UserDao {
public User selectOne(String id) {
User user = new User();
user.setName("홍길동");
return user;
}
}
UserService.java
package net.java_school.user;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@Service
public class UserService {
@Autowired
private UserDao dao;
public User getUser(String id) {
return dao.selectOne(id);
}
}
UserController.java
package net.java_school.user.spring;
import net.java_school.user.User;
import net.java_school.user.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
@Controller
@RequestMapping("/user")
public class UserController {
@Autowired
private UserService userService;
@RequestMapping(value="/view",method=RequestMethod.GET)
public String view(String id, Model model) {
User user = userService.getUser(id);
model.addAttribute("user", user);
return "user/view";
}
}
WEB-INF/jsp/user/view.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>테스트</title>
</head>
<body>
Hello, ${user.name } !
</body>
</html>
dao 에 어노테이션 @Repository 을 적용하면 <context:component-scan /> 으로 검색되고 자동으로 등록된다.
그런 경우 이번 예제에서는 없지만 Dao 의 종속변수에 어노테이션 @Autowired 을 적용해야 한다.
http://localhost:port/ContextPath/user/view?id=hero
를 방문하여 테스트한다.
port 와 ContextPath는 각자 환경에 따라 다르다.
본 웹사이트는 광고를 포함하고 있습니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.

