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)

   

 Struts-config.xml
<data-sources>
<data-source type="org.apache.commons.dbcp.BasicDataSource">
<set-property property="driverClassName" value="com.microsoft.jdbc.sqlserver.SQLServerDriver"/>
<set-property property="url" value="jdbc:microsoft:sqlserver://localhost:1433;databaseName=t23"/>
<set-property property="username" value="sa"/>
<set-property property="password" value=""/>
</data-source>
</data-sources> 取出dataSource
DataSource ds=(DataSource)this.getServlet().getServletContext().getAttribute("data");
Connection conn=ds.getConnection();

8.如何在Jbuilder中开发struts?

新建工程

建立Web模型

建立一个ActionForm

建立一个Action

修改struts-config.xml文件

9.如何实现struts的validator(校验)框架

 手动:
public class myForm extends ActionForm{
public ActionErrors validator(){
actionErrors.add(ActionErrors.GLOBAL_MESSAGE,new ActionMessage("properties中的key名"));
}
}
 在struts-config.xml中修改action的标签validator=true,input="错误页面"。当validator方法中ActionErrors不为空且size>0时,会返回input页面。
public cliass myForm extends ValidatorForm{
不能覆盖validator方法。
//public void validate(){}
} 在struts-config.xml中加入插件
<plug-in className="org.apache.struts.validator.ValidatorPlugIn">
<set-property property="pathnames" value="/WEB-INF/validator-rules.xml,/WEB-INF/validator.xml"/>
</plug-in> 修改validator.xml中内容
errors.required{0} is required.
errors.minlength{0} can not be less than {1} charactors. <formset>
<form name="loginForm">
<field property="userName" depends="required">
<arg0 key="userName"/>
</field>
<field property="password" depends="required,minlength">
<arg0 key="password"/>
<arg1 key="${var:minlength}" resource="false"/>
<var>
<var-name>minlength</var-name>
<var-value>6</var-value>
</field>
</form>
</formset> 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=""/>取出信息

 转

Struts2 常用的常量配置:http://www.cnblogs.com/yokoboy/archive/2013/01/25/2877145.html

Struts问题的更多相关文章

  1. 菜鸟学Struts2——Struts工作原理

    在完成Struts2的HelloWorld后,对Struts2的工作原理进行学习.Struts2框架可以按照模块来划分为Servlet Filters,Struts核心模块,拦截器和用户实现部分,其中 ...

  2. Struts的拦截器

    Struts的拦截器 1.什么是拦截器 Struts的拦截器和Servlet过滤器类似,在执行Action的execute方法之前,Struts会首先执行Struts.xml中引用的拦截器,在执行完所 ...

  3. Struts框架的核心业务

    Struts的核心业务 Struts核心业务有很多,这里主要介绍了比较简单一些的: 请求数据的处理,和数据自动封装,类型自动转换 1.Struts中数据处理 1.1.方式1:直接过去servletap ...

  4. Struts的文件上传下载

    Struts的文件上传下载 1.文件上传 Struts2的文件上传也是使用fileUpload的组件,这个组默认是集合在框架里面的.且是使用拦截器:<interceptor name=" ...

  5. 配置hibernate,Struts。文件

    hibernate文件配置 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernat ...

  6. hibernate与Struts框架结合编写简单针对修改练习

    失败页面fail.jsp <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  7. 3. 解析 struts.xml 文件

    1. struts.xml 文件基本配置: 主要放在资源路径下,配置 sturts2相关的 Action , 拦截器等配置 <struts> <!-- 设置常量 --> < ...

  8. Struts+Spring+Hibernate项目的启动线程

    在Java Web项目中,经常要在项目开始运行时启动一个线程,每隔一定的时间就运行一定的代码,比如扫描数据库的变化等等.要实现这个功能,可以现在web.xml文件中定义一个Listener,然后在这个 ...

  9. Struts 原理

    今天开始接触公司的框架,叫YNA,三个字母应该是雅马哈的缩写,这个框架听公司前辈说功能很强大,但实际上我看不懂.哈哈...... 其中整合了SSH框架,接下来我说下Struts的一些原理 其实这张图就 ...

  10. axis2+struts拦截地址冲突问题

    axis2和struts在整合过程中,struts会把axis的地址也拦截了,默认当成一个action处理, 会因为找不到action而报错: <!-- struts配置 --> < ...

随机推荐

  1. hadoop zookeeper高可用

    原文地址: https://blog.csdn.net/dingchenxixi/article/details/51131493 core-site.xml yarn-site.xml

  2. 数据持久化PlayerPrefs

    1.Unity3D中的数据持久化是以键值对的形式存储的,可以看作是一个字典 2.Unity3D中的值是通过键名来读取的,当值不存在时,返回默认值 3.在Unity中只支持int.float.strin ...

  3. asp.net 修改AD账号信息

    public void ADInfoEdit(ADUser adu) { try { DirectoryEntry dADM; DirectoryEntry objectuser = null; dA ...

  4. JMeter(二十二)与其它工具对比(转载)

    转载自 http://www.cnblogs.com/yangxia-test JMeter工具的扩展性非常好. JMeter工具是开源的.开源不仅仅意味着免费,更重要的是意味着用户可以通过开放的源代 ...

  5. cf-Global Round2-D. Frets On Fire(二分)

    题目链接:http://codeforces.com/contest/1119/problem/D 题意:给n(<=1e5)个数s[i],i=1..n,(0<=s[i]<=1e18) ...

  6. Centos 7 下 LAMP 部署

    一.介绍 LAMP is a combination of operating system and open-source software stack. The acronym of LAMP i ...

  7. Hdu1805-Expression(表达式树模版题+层序遍历树+栈的基本应用)

    2018-11-23-02:27:37 原题链接 题目描述: 题目一目了然. 本题思路: 本题很容易能想到是构建表达式树然后按照层序逆序输出即可. AC代码: #include <cstdio& ...

  8. 【Linux 网络编程】TCP网络编程中connect()、listen()和accept()三者之间的关系

    基于 TCP 的网络编程开发分为服务器端和客户端两部分,常见的核心步骤和流程如下: connect()函数:对于客户端的 connect() 函数,该函数的功能为客户端主动连接服务器,建立连接是通过三 ...

  9. swift - label字体 倾斜,加粗

    /* label.font = [UIFont fontWithName:@"Helvetica-Bold" size:20];//加粗 label.font = [UIFont ...

  10. session高级(session入库)

    我们知道,session是一种会话技术,用来实现跨脚本共享数据. 在之前的php会话技术中我们介绍过,session是存放在服务器端的文件里的,因此session有可能因为文件数量过多,会在查询ses ...