springMVC學習(筆記一)
阿新 • • 發佈:2019-02-10
springMVC執行流程
使用者訪問
簡單點,直接在body中寫一個連結
<body>
<a href="index">點選測試</a>
</body>
web容器載入
使用者在頁面上發出一個請求,web.xml容器載入springMvc.xml檔案
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class >
<!--載入mvc.xml檔案,配置檔案的位置-->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:spingMvc.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet >
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<!--應答所有請求-->
<url-pattern>/</url-pattern>
</servlet-mapping>
springMvc.xml攔截
web.xml檔案放行後到達springMvc.xml核心控制器,這裡面你可以相應檔案配置
<!--配置自動掃描的包-->
<context:component-scan base-package="com.test"/>
<!--配置檢視解析器:把返回的方法解析為實際表現層,也就是去呼叫.jsp介面-->
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<!--檔案存在路徑-->
<property name="prefix" value="/WEB-INF/html/"/>
<!--檔案字尾-->
<property name="suffix" value=".jsp"/>
</bean>
<!--根路徑載入靜態資原始檔-->
<mvc:resources location="/WEB-INF/css/" mapping="/css/**" />
<mvc:resources location="/WEB-INF/js/" mapping="/js/**" />
<mvc:resources location="/WEB-INF/img/" mapping="/img/**" />
<mvc:default-servlet-handler/>
<mvc:annotation-driven/>
控制器實現
@Controller
public class Hello {
/**
* 使用requestMapping來對映web請求的URL,也就是使用者介面中的a請求連結
* 返回值通過檢視解析器servlet.xml檔案中的internalResourceViewResolver解析為實際圖,具體操作為 prefix+retrun值+.jsp。也就是去載入/WEB-INF/html/Main.jsp檔案
*/
@RequestMapping("/index")
public String helloworld(){
System.out.println("Hello World!");
return "Main";
}
}
這裡只是到控制器實現就結束了,在System.out.println(“Hello World!”);代表後續業務層service的實現,service去訪問entity實體層,實體層再對持久層(資料庫)進行相關操作,例如增刪改查等。整個大致流程就這樣。
實現效果截圖
首先開啟頁面。由於介面我是放在專案WEB-INF下面
所以在外界不能直接訪問,我直接在web.xml檔案裡面直接設定為歡迎頁
啟動Tomcat伺服器,進入test.jsp介面
點選測試。請求成功,注意位址列變化,實際上對映的是/WEB-INF/html/Main.jsp中的內容