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. Dao层向sql语句传递多个参数

    手动封装: serviceImpl层 Map<String, Object> params = new HashMap<String, Object>(2);params.pu ...

  2. 【转】修复关于apache-xampp的问题:Port 443 in use by “vmware-hostd.exe”!

    在电脑里装了VMware后,再要装xampp,十有八九就会出现这个问题: 11:23:37  [Apache]     Problem detected! 11:23:37  [Apache]    ...

  3. 前端基础之css介绍

    CSS介绍 CSS(Cascading Style Sheet,层叠样式表)定义如何显示HTML元素. 当浏览器读到一个样式表,它就会按照这个样式表来对文档进行格式化(渲染). CSS语法 CSS实例 ...

  4. ffmpeg编码中的二阻塞一延迟

    1. avformat_find_stream_info接口延迟 不论是减少预读的数据量,还是设置flag不写缓存,我这边都不实用,前者有风险,后者会丢帧,可能我还没找到好姿势,记录在此,参考:htt ...

  5. python网络爬虫《爬取get请求的页面数据》

    一.urllib库 urllib是python自带的一个用于爬虫的库,其主要作用就是可以通过代码模拟浏览器发送请求.其常被用到的子模块在python3中的为urllib.request和urllib. ...

  6. Jmeter录制APP脚本

    启动 jmeter.bat 在 Test Plan 下 添加 Thread Group 在 WorkBench 下 添加 HTTP(S) Test Script Recorder: 配置 Global ...

  7. angular实现链接锚记

    前言: 之所以这么说,是因为angular的路由将html默认的链接锚记的#给占用了,所以传统的链接锚记在这里将不再适用,这个有点坑啊,又要多写好几行代码来模拟这个功能. 实现原理: location ...

  8. 【zipkin】链路追踪

    1,安装zipkin:https://zipkin.io/pages/quickstart.html 推荐使用docker去安装zipkin服务,下载安装执行都有了.缺点是下载要等待一段时间 2,使用 ...

  9. PyCharm 2019 最新激活方式总结(最新最全最有效!!!

    host 注册码 http://idea.lanyus.com/           https://www.cnblogs.com/yjd_hycf_space/p/9110550.html     ...

  10. sql按照中文拼音排序

    select * from table order by convert(columnName using gbk) asc 注意:会导致全表扫描 建立冗余字段,插入数据时字段为convert(col ...