1.Servlet 组件:用户访问某个Servlet时,Servlet 容器将会创建一个 ServletRequest 对象和 ServletResponse对象。在ServletRequest 对象中封装了用户请求信息,然后Servlet 容器把ServletRequest 对象和ServletResponse对象传递给用户请求的Servlet。Servlet 把相应结果写到ServletResponse中,然后有Servlet容器把响应结果传给用户。
2.JSP 组件:在传统的HTML网页中加入java程序片段(Scriptlet)和JSP标签,就构成了JSP网页;Java程序片段可以操作数据库、重新定向网页以及发送E-mail等,实现了建立动态网站所需要的功能;当JSP容器接收到Web用户的一个JSP文件请求时,它对JSP文件进行语法分析并生成 Java Servlet 源文件,然后对其进行编译(Servlet 源文件的生成和编译一般只在初次生成和更新是发生);
在Struts框架中,JSP位于MVC设计模式的视图层,Servlet位于控制层;
3.共享数据在Web中的应用
>1. page:共享数据的有效范围是用户请求的当前JSP网页;
>2. request:共享数据的有效范围是用户请求的当前web组件以及和当前web组件共享同一个用户请求的其他web组件;
>3.session:共享数据存在于整个HTTP会话的生命周期内,同一个HTTP会话的web组件共享它,实际上存放于HttpSession对象;
>4. application共享数据存在于整个web应用的生命周期内,web应用的所用web组件都能共享它,存放于ServletContext对象;
4. 创建web应用配置文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app>
<!-- Standard Action Servlet Configuration -->
<servlet>
<servlet-name>action</servlet-name>
<sevlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
<!-- Standard Action Servlet Mapping -->
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</usr-pattern>
</servlet-mapping>
<!-- The Usual Welcome File List -->
<welcome-file-list>
<welcome-file>hello.jsp</welcome-file>
</welcome-file-list>
<pre name="code" class="html"> <!-- Struts Tag Library Descriptor -->
<taglib> <taglib-url>/WEB-INF/struts-bean.tld</taglin-url> <taglib-location>/WEB-INF/struts-bean.tld<taglib-location> </taglib>
<taglib> <taglib-url>/WEB-INF/struts-html.tld</taglin-url> <taglib-location>/WEB-INF/struts-html.tld<taglib-location> </taglib> <taglib> <taglib-url>/WEB-INF/struts-logic.tld</taglin-url> <taglib-location>/WEB-INF/struts-logic.tld<taglib-location> </taglib></web-app>