剛剛開始接觸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所,結果一直報錯,切記切記。