SpringMVC基礎(一)開發環境搭建
SpringMVC 是一種基於java實現了web mvc設計模式的請求驅動型別的輕量級web框架,將web層進行職責解耦。
一、環境配置
1.spring-framework 3.2.0 版本
2. 依賴jar包:將以下的jar包拷貝到WEB-INF/lib目錄下
3. 輔助jar包:
commons-logging.jar(日誌輸出)
標籤庫支援:Jstl.jar、Standard-1.1.2.jar
二、HelloWorld 例項
1. 前端控制器的配置(web.xml)
<servlet > <servlet-name>springMVC</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <!-- 下方classpath後面有個*號是表示會載入所有在classpath路徑下的後面指定的檔案、不配置的話只會載入一個。 在大型專案開發中、一般都是以模組來開發、各個小組都有自己的配置檔案、這樣既具有獨立性又容易管理。 --> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath*:config/springMVC-servlet.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springMVC</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> </web-app>
- load-on-startup:表示啟動容器時初始化該Servlet;
- url-pattern:表示哪些請求交給Spring Web MVC處理,“/”是用來定義預設servlet對映的。 也可以加“*、html”表示攔截所有html為副檔名的請求。
接下來我們需要配置Spring的配置檔案,預設DispatcherServlet會載入WEB-INF/DispatcherServlet的Servlet名字-servlet.xml配置檔案。
2. springMVC-servlet.xml檔案
springMVC-servlet這個名字是因為上面web.xml中<servlet-name>標籤配的值為springMVC
<!-- 配置如何找到檢視,name,代表路徑 class 配置檢視 --> <bean name="/test/helloworld" class="com.tgb.web.controller.HelloWorldController" /> <!-- 配置檢視解析器 --> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="prefix" value="/"></property> <property name="suffix" value=".jsp"></property> </bean> </beans>
- InternalResourceViewResolver : 用於支援Servlet、JSP檢視解析
- prefix和suffix :
對轉向頁面的路徑解析。prefix:字首, suffix:字尾
3. 建立Controller
public class HelloWorldController implements Controller {
@Override
public ModelAndView handleRequest(HttpServletRequest arg0,
HttpServletResponse arg1) throws Exception {
System.out.println("Hello ,Beautiful Girl!");
//第一種方式傳遞字串
//String hello="Hello ,Beautiful Girl!";
//第一種方式,返回字串
//return new ModelAndView("/welcome","result",hello);
//第二種方式傳遞map資料型別
Map<String,Object> map = new HashMap<String,Object>();
//給map賦值
map.put("map1", "提高班1");
map.put("map2", "提高班2");
map.put("map3", "提高班3");
return new ModelAndView("/welcome","map",map);
}
}
4. 建立 jsp頁面
<body>
你們好!
<br>
<h>傳遞資料</h>
${result}
<div>
<c:forEach items="${map }" var="m">
${m.key }--> ${m.value }
</c:forEach>
</div>
</body>
</html>
通過這個例項,我們來總結一下SpringMVC的一點點流程。
SpringMVC是一個基於DispatcherServlet的MVC框架,每一個請求最先訪問的都是DispatcherServlet,即在web.xml檔案中配置。DispatcherServlet負責轉發每一個Request請求給相應的Handler,即我們的controller頁面控制器。 Handler處理以後再返回相應的檢視(View)和模型(Model),返回的檢視和模型都可以不指定,即可以只返回Model或只返回View或都不返回。