springMVC.jpg
學(xué)習(xí)SpringMVC之前,我們要先對(duì)SpringMVC有一個(gè)大概的了解
<a >SpringMVC的介紹</a>
第一個(gè)程序
1.1 新建一個(gè)動(dòng)態(tài)的web項(xiàng)目
動(dòng)態(tài)項(xiàng)目.png
1.2 修改classpath路徑
web項(xiàng)目默認(rèn)去WEB-INF尋找classes,如果出現(xiàn)什么配置文件找不到,首先考慮的就是這個(gè)classes設(shè)置沒有
在WEB-INF里面創(chuàng)建一個(gè)classes的字節(jié)碼文件夾
修改SpringMVC項(xiàng)目的classes路徑.png
2.導(dǎo)入相關(guān)的jar包
有些包后面也會(huì)用到的,所以我一起截圖了
jar包.png
3.導(dǎo)入對(duì)應(yīng)的配置文件,和spring的配置文件一樣.類似于Struts.xml
建議新建一個(gè)源文件夾resources,將配置文件放在該目錄下面
resources源文件夾.png
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
">
</beans>
4.1 編寫核心類HelloWorldController
//實(shí)現(xiàn)org.springframework.web.servlet.mvc.Controller接口
public class HelloWorldController implements Controller{
@Override
public ModelAndView handleRequest(HttpServletRequest arg0, HttpServletResponse arg1) throws Exception {
System.out.println("HelloWorldController.handleRequest()");
return null;
}
}
4.2 回到applicationController.xml里面添加對(duì)應(yīng)bean的配置
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
">
<bean name="/helloWorld" class="com.jianshu.springmvc.HelloWorldController"></bean>
</beans>
name 前臺(tái)以什么路徑訪問我們的處理類
class 請(qǐng)求過來后的處理類
5.配置前端請(qǐng)求分發(fā)器(DispatcherServlet).在web.xml里面配置Servlet
因?yàn)檎?qǐng)求分發(fā)器底層就是一個(gè)Servlet
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<servlet>
<servlet-name>springMVC</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:applicationContext.xml</param-value>
</init-param>
<!-- 啟動(dòng)級(jí)別 -->
<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>1</load-on-startup>
默認(rèn)是第一次訪問的時(shí)候才去加載配置,
但是第一個(gè)用戶訪問的時(shí)候,響應(yīng)特別慢,希望在服務(wù)器啟動(dòng)的時(shí)候就加載
<init-param>
在SpringMVC默認(rèn)去WEB-INF文件夾下尋找配置文件
需要告訴告訴框架去指定位置尋找配置文件
contextConfigLocation是DispatcherServlet類里面的變量
如果出現(xiàn)
Could not open ServletContext resource異常
就是沒有配置這個(gè)
url-pattern 路徑
6.去tomcat目錄下面的server.xml文件,添加相關(guān)的配置
<Context path="" docBase="F:\Mark_workspace\sprinMVC_test\WebContent"/>
7.啟動(dòng)tomcat ,在瀏覽器輸入地址
因?yàn)槲业亩丝谠O(shè)置為80了,所以我在頁面上直接輸入localhost/helloWorld
如果端口號(hào)是默認(rèn),那么請(qǐng)輸入localost:8080/helloWorld
之后可以在控制臺(tái)看到打印了語句
HelloWorldController.handleRequest()