1.struts框架的5大组件:mvc,标签库,校验框架,国际化,tiles;
2.struts的9大核心类以及与mvc对应的关系:
C
ActionServlet
RequestProcessor
Action
actionMapping(struts-config.xml)
actionFormard
V
ActionForm
Jsp
M
Dao
Manager(facade)
3.Struts处理请求的全过程(8个步骤)。(struts如何通过一个url找到一个action)。struts的核心配置文件。
a.url-->ActionServlet(process)-->RequestProcessor(process)-->实例化form-->填充form值-->进行校验-->实例化action-->调用execute
b.核心配置文件为:struts-config.xml
4.mvc是什么,使用mvc的目的。
a. mvc(model view controller):m是指数据模型,v是指用户界面,c则是控制器。
b.使用MVC的目的是将M和V实现代码分离。也就是前台html/jsp表现层和后台java逻辑层分离。
5.mvc在action中的三种对应类及其作用。(难理解)
6.struts的四大标记类及其作用。
Bean 标记:用来在 JSP 页中管理 bean
逻辑标记:用来在 JSP 页中控制流程
HTML 标记:用来生成 HTML 标记,在表单中显示数据,使用会话 ID 对 URL 进行编程
模板标记:使用动态模板构造普通格式的页大标记类及其作用。
7.在struts中配置数据源及如何取出数据源(dataSource)
1 Struts-config.xml 2 <data-sources> 3 <data-source type="org.apache.commons.dbcp.BasicDataSource"> 4 <set-property property="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/> 5 <set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=t23"/> 6 <set-property property="username" value="sa"/> 7 <set-property property="password" value=""/> 8 </data-source> 9 </data-sources> 10 11 12 取出dataSource 13 DataSource ds=(DataSource)this.getServlet().getServletContext().getAttribute("data"); 14 Connection conn=ds.getConnection();
8.如何在Jbuilder中开发struts?
新建工程
建立Web模型
建立一个ActionForm
建立一个Action
修改struts-config.xml文件
9.如何实现struts的validator(校验)框架
1 手动: 2 public class myForm extends ActionForm{ 3 public ActionErrors validator(){ 4 actionErrors.add(ActionErrors.GLOBAL_MESSAGE,new ActionMessage("properties中的key名")); 5 } 6 } 7
1 在struts-config.xml中修改action的标签validator=true,input="错误页面"。当validator方法中ActionErrors不为空且size>0时,会返回input页面。 2 public cliass myForm extends ValidatorForm{ 3 不能覆盖validator方法。 4 //public void validate(){} 5 } 6 7 在struts-config.xml中加入插件 8 <plug-in className="org.apache.struts.validator.ValidatorPlugIn"> 9 <set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml"/> 10 </plug-in> 11 12 13 修改validator.xml中内容 14 errors.required{0} is required. 15 errors.minlength{0} can not be less than {1} charactors. 16 17 <formset> 18 <form name="loginForm"> 19 <field property="userName" depends="required"> 20 <arg0 key="userName"/> 21 </field> 22 <field property="password" depends="required,minlength"> 23 <arg0 key="password"/> 24 <arg1 key="${var:minlength}" resource="false"/> 25 <var> 26 <var-name>minlength</var-name> 27 <var-value>6</var-value> 28 </field> 29 </form> 30 </formset> 31 32 33 struts-config.xml中修改action的标签validator=true,input="/error.jsp"
10.实现国际化
国际化:不用修改代码就可以适应不同国家的语言。
本地化:如果要适应一个国家的语言,要修改源代码。
实现过程:
在struts-config.xml中配置资源文件名。
<message-resouces parameter="struts.ApplicationResources"/> 在资源文件对应的目录struts中加入语言和国家的配置文件 ApplicationResources_zh_CN.properties 中国 ApplicationResources_en_US.properties 美国 如果不是英语要转码:native2ascii -encoding gb2312 源ApplicationResources_zh_CN.properties。 在jsp页面中用: <bean:message key=""/>取出信息