1.MVC
model:模型层:(vo,service业务层,dao数据访问层);
dao层常用技术:JDBC,数据库连接池(dbcp,c3p0,alibaba),commons-dbutils,hibernate,mybatis。
view:视图层:js,css,img,html,jsp,freemarker/jquery/extjs/easyui/dwr/prototype...
controller:控制层:
常用的技术:servlet,struts2,springmvc,jfinal(控制层、数据访问层)
spring:统一管理各层面的数据。
2.struts2环境搭建:
1)导入struts2使用的jar包;
2)在web.xml中配置核心控制器StrutsPrepareAndExecuteFilter。
init():初始化资源(配置文件,常量信息等等),读取struts配置参数。
doFilter():拦截全部的http请求参数,调用拦截器组件,调用action组件,调用result组件。
destory():销毁资源。
3)创建struts.xml(src下面)并做配置:
<package name="helloWorld" namespace="/aa" extends="struts-default">
<action name="helloWorld" class="com.chinasofti.action.HelloWorldAction">
<result name="success">/first/helloWold.jsp</result>
</action>
</package>
4)jsp页面(url组成 :项目名+namespace+action别名+.action)。
5)action内部一定要有execute()方法(默认执行),返回一个字符串。
3.struts2工作流程
1)web容器启动,调用核心控制器的init()方法,做初始化操作(加载配置信息、常量信息并将其封装到一个javaBean中);
2)当客户端发起http请求,核心控制器收到请求后,由ConfigurationManager去封装的javaBean(struts.xml)中去查找对应请求, 通过ActionInvocation处理action相关的信息;
3)执行struts2内部一个个拦截器;
4)进入action类中执行对应的方法(如果指定method方法则执行相应method方法,否则执行默认execute方法),处理完成后返回一个字符串信息;
5)逆向执行一遍拦截器;
6)根据封装的javaBean(struts.xml)中的配置信息,去查找业务方法执行完成后返回的字符串所对应的资源;
7)将所对应的资源呈现给用户。
4.属性驱动模型
在action类中,直接使用实体bean对象类型或成员变量来接收用户提交的表单数据;
要求在视图层表单中name的属性值为bean对象名称.对象的属性名称或成员变量名。
5.调用action中特定业务方法,不执行默认的execute方法:
在action标签中,配置method属性,指定action类中某个方法的名称。