自己一星期总结:2008-10-26 04:45下午
struts
1.Struts的基本流程MVC2(model-view-contrller)

from(数据业务model)
                          |
   IE(浏览器)----总调(ActionListener)----Action(C2)----Service(javabean)
                          |                  |
                          |               回到总调(ActionListener)
                      config.xml和.jsp

model分为业务model、数据model
    Struts开发
           (1)、 创建表单   extends  ActionForm
           (2)、 登记表单   struts-config.xml
           (3)、 创建分管经理 extends  Action(覆盖 execute() 方法)
           (4)、 定义流程 struts-config.xml

scope="request"  解释 把表单缓存在仓库Request中
 
   ***注意用struts开发时要配置web.xml 配置如下
 
        <web-app>
            <servlet>
                <servlet-name>controller</servlet-name>
                <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
            </servlet>
            <servlet-mapping>
                <servlet-name>controller</servlet-name>
                <url-pattern>*.do</url-pattern>
            </servlet-mapping>
        </web-app>

2.文件上传
     用到FormFile
     具体的操作:
                FormFile photo = user.getPhoto();//获取user中的图片流
  InputStream is=photo.getInputStream();
  
  String path = application.getRealPath("photo");//路径
  FileOutputStream fos = new FileOutputStream(path+"/"+user.getName()+".gif");
  
                int i;
  while ((i=is.read())!=-1){
   fos.write(i);
  }
  
  fos.close();
  is.close();
    
3.中文乱码处理方案
     (1)利用filter过滤器
     (2)利用request.setCharacterEncoding("GBK");进行强转
     (3)利用Struts进行转换(模板模式)(例子留言板3)
              方法:继承类RequestProcessor
              原因:RequestProcessor是在Form时会调用的九个方法之一,覆盖这个方法可以进行转换
         注:在运用图片等上传时request.setCharacterEncoding("GBK");进行中文转换
    
4.设计模式
     java设计模式一共有23种
     1,模板模式(由父类定义流程,子类去覆盖)应用很广

5.动态表单(重点)
     有人建议所有的表单都可以做成动态表单,可以不要Form
      动态表单DynaActionForm
      <form-beans>
        <form-bean  name="loginForm"  type="org.apache.struts.action.DynaActionForm">
        <!—在下面制定Form的属性 -->
        <form-property  name="email"  type="java.lang.String "/>
        <form-property  name="password"  type="java.lang.String "/>
        <!—可以为属性设置默认值 -->
        <form-property  initial="false"  name="rememberMe"  type="java.lang.Boolean "/>
      </form-bean>
  <form-beans>

6.程序设计应尽量降低耦合度,
     最好能使程序片分开互不影响,

构架的目的:降低层与层之间的依赖性,容易变化的依赖稳定的。

7.校验
   校验有两种(1)用Form.validate()服务器端的校验
             (2)配置文件脚本
   注:一般的校验都交由客户端处理(javascript)

8.实体关系(重点)
   实体关系分为   1:1 /1:n/m:n  三种,注意体会,学会利用关系进行建sql表和处理对象
    
9.表达式和jstl(重点自学)
   1.表达式语言EL
        基本             获取本javabean中的对象的值   ${user.name}
                         Empty操作符  ${empty a}  a不存在返回true
                         判断   ${A?B:C}
                         page内的属性名和它的值进行映射   ${pageScope.user}
                         对请求范围内的属性名和值进行映射 ${requestScope.name}
                         对会话范围内的属性名和值进行映射 ${sessionScope.name}
   2.标准标签库jstl
       Core标签库
          一般用途<c:out><c:set><c:remove><c:catch>
          条件标签<c:if><c:choose><c:when><c:otherwise>
          迭代标签<c:forEach><c:forTokens>
       URL相关的标签<c:import><c:url><c:redirect><c:param>
       I18N标签库和国际化标签(不太熟的)

struts.* 基础(by cju)相关推荐

  1. struts基础配置

    struts2是针对MVC思想的具体实现,对应于MVC中的C即Controller控制器层,有以下优点: 通过简单.集中的配置来调度业务类,是的配置和修改都很容易. 提供简单.统一的表达式语言来访问所 ...

  2. Struts学习笔记--(二)Struts基础

    本文为how2java Struts教程的学习笔记,原教程链接如下:http://how2j.cn/k/struts/struts-jsp/55.html 中文问题 修改addProductjsp 修 ...

  3. servlet+jsp基础 by cju

    servlet+jsp 1,验证码       作用:防止恶意注册(利用代码重复注册导致服务器瘫痪);       动态生成验证码servlet继承与HttpServlet,验证码通常是以图片的形式显 ...

  4. 名师讲坛——Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    [书名]<名师讲坛--Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax)> [作者]李兴华.王月清 [ISBN]9787302231585 ­}:YKf: ...

  5. 名师讲坛—Java Web开发实战经典基础篇(JSP、Servlet、Struts、Ajax)

    名师讲坛-Java Web开发实战经典基础篇(JSP.Servlet.Struts.Ajax) 基本信息 作者: 李兴华    王月清   出版社:清华大学出版社 ISBN:9787302231585 ...

  6. 【Web】Eclipse + Maven + Struts搭建服务器

    一.环境 系统:Windows7 IDE:Eclipse-Kepler Service Release 2 使用插件:Maven(请预先在电脑上安装Maven) 二.搭建 在Eclipse中新建一个M ...

  7. struts——struts在升级,作为程序员,该怎样以不变应万变?

    struts在升级,作为程序员,该怎样以不变应万变? 怎样学习新版本struts? 今天无意中翻看了一下struts2.0,结果发现它与struts1.1有很大的变化,可以说已经变的面目全非了.作为程 ...

  8. ajax如何处理程序设计,Struts与Ajax高级程序设计

    摘要: <Struts与Ajax高级程序设计>详细介绍了Struts MVC Web 框架的使用方法,可以帮助读者解决在日常Web 应用程序开发中遇到的各种难题.不合理的设计会导致对Str ...

  9. java基础 - 1

    目录 第一章:Java开始 1 学习目标 1 Java历史 2 Java技术概述 3 Java技术的优点 3 Java虚拟机 4 类加载器 6 Windows环境变量 8 内容总结 13 独立实践 1 ...

最新文章

  1. 华为南太无线解决方案部梁旭阳_工业互联网产业联盟网络组走进华为南京研究所技术研讨会顺利召开...
  2. Centos7 MYSQL安装与基础命令运用
  3. Facebook高管:我们是科技公司 不是媒体公司
  4. 【c++】iostreeam中的类为何不可以直接定义一个无参对象呢
  5. Atitit.异步编程 java .net php python js 对照
  6. java元婴期(22)----java进阶(mybatis(1)---mybatis框架概述入门程序)
  7. 6月共处理钓鱼网站8186个:非CN域名达8029个
  8. Struts2中Action的属性接收参数
  9. Security+ 学习笔记54 安全政策
  10. git中Bash基本操作命令
  11. 解决方案:如何防止数据重复插入
  12. 最全的软件开发报价标准
  13. python 人体建模_Matplotlib学习---可视化人体姿态
  14. 服务器配置参数主要有哪些
  15. uniapp省市区三级联动
  16. 南京大学计算机专业复试面试,2014 CS复试全面回忆 上机真题 面试血泪史
  17. 1. 遥控器-华科尔Devo7e 改造成为支持 dsm2/dsmx 的多制式遥控器
  18. 计算机导航窗格里没有桌面,今天解决win10 导航窗格怎么添加桌面的解决环节
  19. dimm和udimm_Adata推出32GB DDR4-2666 UDIMM和SO-DIMM
  20. 基于OTSU算法和基本粒子群优化算法的双阈值图像分割

热门文章

  1. 第十九章 SQL谓词 %STARTSWITH(一)
  2. 考研英语(六)——定语从句
  3. hive时空链战_时空链战
  4. 根据天数(由用户输入)计算这些天数中有几周和剩余的天数,例如:用户输入的是45 ,输出结果为:45天是6周余3天
  5. UNet详解(附图文和代码实现)
  6. 知乎价值59元私家课:雷军亲述创业心法
  7. Python 获取文件或者文件夹的修改日期 获取文件的修改时间、访问时间、创建时间、大小占用
  8. 欧拉余数定理通解,求A的B次幂模C的值( A^B mod C)
  9. Unity DropDown 取消默认Value
  10. numpy中向量的基本操作