Struts问题

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=""/>取出信息

  

时间: 2024-10-10 20:25:55

Struts问题的相关文章

struts(IDEA)的应用

目标 任务,完成以上功能. 第一步:模拟组长建project 1.建立一个空白工程(里面是没有文件的) 2.到此,我们见到新建的工程,目录里面没有其他文件,只有.idea目录 (这个是相关配置信息,可以不管它) 3.点击托管项目到码云 4. 输入账号和密码 注意:这里是直接创建远程仓库(在码云的服务器创建,不是本地) 作用:把本地的代码,统统托管到服务器上 5. 提示提交文件,但是没有文件可以提交,因为本项目本来就是空. 6.右下角,提示创建仓库成功. 同时,仓库里面,什么代码代码都没有 8.按

Struts初探(二)

总是找不到对应的action,但别的没用到动态方法调用的都没有问题. 报异常:java.lang.reflect.InvocationTargetException - Class: com.opensymphony.xwork2.inject.ContainerImpl$Me 实在是搞不清楚,我还以为全半角有问题,尚学堂的现有的工程,进去操作了一下是没有问题的,struts2-core-2.1.6.jar,我这里是2.3.31了,想一下只能是这个问题了吧. 在Struts2的action配置中

深入理解struts的运行机制

在此申明本博文并非原创,原文:http://blog.csdn.net/lenotang/article/details/3336623,本文章是在此文章基础上进行优化.也谈不上优化,只是加上了点自己的想法 jar包准备 为什么会用到这两个jar包呢,因为我需要通过这个jar来解析xml配置文件. 新建项目 流程梳理 struts配置文件 <?xml version="1.0" encoding="UTF-8"?> <struts> <

struts文件上传

如果在表单中上传文件,表单的enctype属性为multipart/form-data struts默认上传文件大小为2M,如果需要修改,在配置文件中设置 <constant name="struts.multipart.maxSize" value="31457280"/> jsp页面 <input type="file" name="file"/> action中属性 private File fi

Hibernate+struts+JqueryAjax+jSON实现无刷新三级联动

看网上JqueryAjax三级联动的例子讲不是很全,代码也给的不是很全,给初学者带来一定的难度.小弟自己写了一个,可能有些地方不是很好,希望大家能够提出建议. 用的是Hibernate+struts2写的.http://blog.csdn.net/luckey_zh/article/details/22995389 以代码来说话吧. 首先是index1.jsp页面 [html] view plaincopy <%@ page language="java" import=&quo

SSH—Struts(三)—执行器(Action)

前面已经介绍了Struts的基本原理和控制器ActionServlet,按照一个请求的流程经过了ActionServlet之后就要到达Action类中做具体的处理了.ActionServlet通过ActionMapping获取映射的Action对象,通过Action来完成请求的处理,最后Action返回一个ActionForward对象. Action的创建 当请求经过ActionServlet时,ActionServlet会根据请求中截取的地址搜索对应名字的ActionMapping,即Str

struts的学习

在开发工具上进行struts的配置 1)新建项目,为项目添加Struts开发支持 2)为项目添加Struts开发支持,在项目点击右键,myeclipse->Add Struts Capabilities.选择支持的struts版本 3)在项目下的WebRoot下新建一个jsp文件.在Template to use下选在2中选择的struts版本 配置hello.jsp <%@ page language="java" pageEncoding="GBK"

struts 1.x 原理

Struts 当我接触到这个框架的时候,我就在想为什么是struts,而不是什么CraigFramework.结构.支撑,这样来理解也不难怪了. 为什么需要struts? 在struts in action这本书里,struts的开发者也讲到.在有了MVC后依然需要这样一个框架来支撑开发的工作,因为有了jsp和model和ejb来处理这一套流程还需要什么? 原理 首先需要在tomcat服务器启动,而tomcat启动后.部署在tomcat中的项目启动,相应在根据项目下的web.xml文件来实例化s

struts入门实例

创建maven web项目 配置pom.xml 加入struts的依赖包 <dependency> <groupId>org.apache.struts</groupId> <artifactId>struts2-core</artifactId> <version>2.5.13</version> </dependency> 下面是pom.xml的全部配置 <project xmlns="ht

Struts2 + Spring 学习(一)搭建struts开发环境

·为Web应用增加Struts2支持 1. 登陆struts2官网下载struts2的最新版,本文所用的是Struts 2.3.16.2 我们所下载的压缩包内内容应给如下 其中,apps包含了struts2的实例应用,docs包含了struts2的相关文档,lib包含了Struts2框架的核心类库以及struts2的第三方插件类库,src包含了struc包含了struts2框架的全部源码. 2. 在Eclipse新建Web工程,将是所用到的类库放到WEB-INF/路径下 3. 编辑Web应用的w