1.MVC模式:客户端运行的servlet程序,当对请求处理完成之后,要在浏览器中进行显示,因此要在servlet中这样写:
resp.setContentType("text/html;charset=utf-8");
PrintWriter out=resp.getWriter();
out.println("<h1>Hello World</h1>")
为了避免每次都要out.println(),因此要将数据和页面相互分离。MVC分别代表model(模型)、view(视图)和controller(控制)。控制层用于处理用户发发来的请求,处理完成后会产生模型(数据),之后交由视图进行显示。
SpringMVC中,我们只关心如何编写控制层。其他都交由spring容器来完成。
SpringMVC的运行流程:所有的请求都会发送到前端控制器。前端控制器是一个servlet,前端控制器通过处理映射器和请求的url来找到controller后端控制器。后端控制器处理完成后会生成模型并返回逻辑视图名给前端控制器。前端控制器在通过视图解析器还原出真正的物理视图名。最后交由视图进行渲染。 前端控制器相当于中央控制器,负责按时间先后顺序进行安排任务。
开始配置: web.xml文件:
<!--配置监听器,监听ServletContext对象-->
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<!--配置ServletContext的初始化参数-->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:/ApplicationContext.xml</param-value>
</context-param>
<!--配置前端控制器-->
<servlet>
<servlet-name>app</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>app</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
<!--配置编码过滤器-->
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
由配置文件中的Servlet配置可知,所有的请求都发送到了DispatcherServlet,也就是前端控制器。由Filter配置可知,所有的请求都会被编码过滤器所过滤。
app-servlet.xml文件:
<bean id="jspViewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/page/"/>
<property name="suffix" value=".jsp"/>
</bean>
该文件配置了视图解析器,作用是将Controller返回的逻辑视图转变为物理视图。这个文件的名字是约定好的,格式为servlet的名字-servlet.xml
,其中servlet的名字是servlet配置中的名字app
。
ApplicationContext.xml:这个文件是Spring的配置。没有新内容。如何配置可以参考Spring入门一。
上一篇 |
---The End---
| 下一篇 |