Spring MVC项目的构建过程
Spring MVC工作流程图:
代码的实现过程:
1.创建工程,导入相关的jar包到webContent/wen-inf下的lib目录下。
2.配置web.xml文件,配置前端的DispatcherServelet
<Servlet>
<servlet-name>springmvc</servler-name>
<servlet-class>文件中servlet.DispatcherServlet的包名</servlet-class>
</Servlet>
<Servlet-mapping>
<servlet-name>springmvc</servlet-name> 注意这里servlet-name必须是Servlet中servlet-name的名字。
<url-pattern>*.do</url-pattern>
</Servlet-mapping>
解释:<servlet-mapping>元素在Servlet和URL样式之间定义一个映射。它包含了两个子元素<servlet- name>和<url-pattern>,<servlet-name>元素给出的Servlet名字必须是在<servlet>元素中声明过的Servlet的名字。<url-pattern>元素指定对应于Servlet的URL路径,该路径是相对于Web应用程序上下文根的路径。
容器试着对请求的路径和Servlet映射的路径进行精确匹配,如果匹配成功,则调用这个Servlet来处理请求。
容器试着匹配最长的路径前缀,以斜杠(/)为路径分隔符,按照路径树逐级递减匹配,选择最长匹配的Servlet来处理请求。
如果请求的URL路径最后有扩展名,如.jsp,Servlet容器会试着匹配处理这个扩展名的Servlet。
如果按照前面3条规则没有找到匹配的Servlet,容器会调用Web应用程序默认的Servlet来对请求进行处理,如果没有定义默认的Servlet,容器将向客户端发送HTTP 404错误信息(请求资源不存在)。
3.在web-inf下创建springmvc配置文件,文件名必须为:[servlet-name]-selvlet.xml ,且注意目录必须为web-inf下。
可以在springmvc的配置文件中配置handlemapping(会根据URI的不同来选择映射)。
4.在[servlet-name]-servlet.xml中可以通过handlemapping来选择哪个url对应哪一个controller,具体实现如下:
<beans>
<bean class="在springmvc框架中simpleurlHandlerMapping的jar包">
<property name="mapping">
<props>
<pro key="start.test">startController</pro> /*注意这里缺省的信息由 pro中的key表示的是在界面上庆七一响应的URL的匹配字段。 startController表示的是其对应的controller 两者像一个键值对一样。*/
</props>
</bean>
<bean id="startController" class="test.StartController" > //注意在这里会自动生成一个StartContraller对象这就是spring中的依赖注入。
</beans>