天天看點

MVC-step-by-step 筆記 Part 1 | #spring #mvc

剛剛開始接觸SpringMVC,做一些筆記備忘。

  

第一部分其實就是個hello world,不習慣用ant來build,換用eclipse,友善快捷,挑重點的學嘛。

[b]檔案結構[/b]

|- src
 |   └- SpringappController.java
 | 
 └- WebContent
      |- META-INF
      |   └- MANIFEST.MF
      |
      |- WEB-INF
      |   |- lib
      |   |   |- commons-logging.jar
      |   |   |- servlet-api.jar
      |   |   └- spring.jar
      |   |
      |   |- springapp-servlet.xml
      |   └- web.xml
      |   
      |- hello.jsp
      └- index.jsp[/code]


[b]需要的包[/b]

[list]
[*]\dist\spring.jar 
[*]\lib\jakarta-commons\commons-logging.jar
[/list]

[b]配置web.xml[/b]

[code="xml"><servlet>
	<servlet-name>springapp</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
	<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
	<servlet-name>springapp</servlet-name>
	<url-pattern>*.htm</url-pattern>
</servlet-mapping>
           

[b]配置springapp-servlet.xml[/b]

在WEB-INF下建立一個"springapp-servlet.xml",該檔案名中springapp為剛剛在web.xml中配置的servlet名稱。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN 2.0//EN" 
	"http://www.springframework.org/dtd/spring-beans-2.0.dtd">

<beans>
	<bean id="springappController" class="SpringappController"/>

	<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
		<property name="mappings">
			<props>
				<prop key="/hello.htm">springappController</prop>
			</props>
		</property>
	</bean>
</beans>
           

mappingsk中配置了URL的映射,此例中将"/hello.htm"的請求映射到springappController控制器。

[b]編寫SpringappController控制器[/b]

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.Controller;

public class SpringappController implements Controller  {

	@Override
	public ModelAndView handleRequest(HttpServletRequest request,
			HttpServletResponse response) throws Exception {
		return new ModelAndView("hello.jsp");
	}

}
           

SpringappController類實作了Controller接口。

其handleRequest方法用于将springapp-servlet.xml中關聯的請求位址轉發到指定的視圖。

再編寫相對的視圖檔案,布署工程後在浏覽器中運作 http://8080/springapp/hello.htm 即可。

我開始沒有加入commons-logging.jar所,結果一直報錯,切記切記。