已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、In Action(1)根据添加信息(insert)来考虑表中的字段,进行建表。使用PD画出ER图。要注意字段的数据类型的确定以及建表要满足三范式,减少数据冗余;(2)表建好后,根据表中各个字段来建pojo中的属性。要注意属性的数据类型和字段的数据类型要一致;(3)根据pojo中的属性确定bean的属性,直接拷贝即可,用于页面展示。在bean中,统一使用String类型变量接收前台页面传递的参数;每个HTML表单对应一个bean。HTML表单中的字段和bean中的属性一一对应。(4)自顶向下,依次定出action、manager、dao。先写出轮廓,跑通整个流程,再写具体实现,一点点累加,便于调试错误;(5)根据数据实体和具体业务逻辑,使用StarUML画类图,进行OOA和OOD,灵活运用设计模式。(6)API命名:CRUD:add,get,update,delete,list严格区分单复数形式,单数表示对象,复数表示对象集合。对象、属性最好单个单词。(7)前后台都要校验。(8)按照资源方式组织数据接口,对前端开发帮助很大。即通过REST来实现资源的增、删、改、查。(9)软件开发,思路最重要!代码开发多了,思路就有了。a、一个版本一个版本递增的开发; 每个版本增加一点内容;b、总结开发思路;第一步怎么做,下一步怎么做?c、用文档记录开发的思路,即第一个版本开发实现了什么功能以及开发步骤,下一个版本实现了什么功能等等?d、程序员进行程序开发时,不要仅仅停留在代码,要深入到底层的运行机制,才可以对程序的运行机制有更准备的把握;(10)网页模板 request到template.jsp文件(此文件假设包括三个部分,即title、banner、body)web客户 title bannerinclude:banner.jsp bodyinclude:showcart.jsp(11)一步一步的定位。根据结果进行分析。(12)分页控件假分页:基本思想是将所有的数据从数据库中取出,只显示有用的部分。靠的是程序的算法,实际上就是在ResultSet上进行操作。真分页:(数据库中的一种实现)任何数据库都会提供分页的函数操作:Oracle、MySQL(limit,即limit 开始的记录, 要查询的行数)、SQL Server(top)基本思想是在数据库中编写特定的SQL语句。程序中只读取有用的部分,没用的部分不会加载到内存中。(13)2、TIPS(1)、VO就是POJO。(2)、先做完基本功能,然后对输入的数据进行验证。主方法中代码尽可能少,再考虑代码的可重用性。(3)、当发现代码中重复地复制/粘贴时,就可以考虑将之形成为一个类进行调用。(4)、在类的设计中,永远不要去继承一个已经实现好的类,只能继承抽象类或实现接口。(5)、一个设计良好的类,应重写Object类中的equals()、hashCode()、toString()方法。(6)、在action层中接收参数,要写健壮,要做空指针处理。(7)、业务逻辑放到manage层,如if.else.不要放在action层,放在manage层处理。(8)、dao层要写健壮,传入的是bean或map,返回的是bean或list。(9)、查询:所有的记录总数以及查询第几页的数据;(10)、多思考,尝试用不同、多种方法去解决问题。(发散性思维)(11)、当程序中有0、1这样的数字或字符串出现时,最好用常量代替。常量名很重要,做到见名知意。(12)、spring针对每一层(action.manager、dao)都有一个配置文件;ibatis有2个配置文件。sqlmap有namespace,每个实体类都对应一个xml配置文件。(13)、类设计,编写时先完成基本功能的实现,然后再对实现功能的代码结构进行优化。(14)2、PS(1)Java Web开发环境:JDK、IDE、java web服务器JDK,一般指sun公司发布的JDK,也有其他的JDK,如IBM的JDK、BEA的JRocket等。从Java 5.0开始,Java web技术也称为Java EE。Java EE应用程序的运行需要Java EE类库的支持。安装好JDK后,设置JAVA_HOME环境变量以及将JDK下的bin目录添加到PATH环境变量。eclipse需要Java运行环境。Eclipse WTP是Eclipse官方提供的web开发工具。Java web服务器在Java EE规范中也叫做容器。(2)web容器在启动时,从web.xml文件中读取配置信息,装载web应用。web容器运行时,不会检测web.xml、struts配置文件的更新而重新加载它。若struts框架不能处理的异常,会把错误抛给web容器。容器会查看web.xml文件中是否配置了元素。若存在,则返回元素的子元素指定的错误页面。否则直接将错误抛给用户。(3)webApp部署好后,启动Tomcat会自动发布webApp。首先是实例化Filter,并调用其init()方法初始化。然后根据的数值(数值为0或正数,数值越小越先加载)来依次加载servlet,并调用其init()方法进行初始化。若没有为servlet配置属性,则当web应用启动时servlet容器不会加载这个servlet,只有当用户首次访问此servlet时才加载。(4)web调试时,一定要服务器以调试模式启动。然后在程序中打断点,通过浏览器访问,这样程序运行到断点处就会暂停运行。(5)jsp放到WEB-INF文件夹中,可防止外界直接通过URL来访问Jsp页面,此时jsp一定要是servlet或action的后继页面,才可以被访问到。(6)EL表达式是JSP2.0规范,需要Tomcat支持的。Tomcat6才支持EL表达式。(7)编码用户提交的查询数据(即get请求),默认采用的是ISO-8859-1编码。request.setCharacterEncoding(utf-8); /设置request编码方式,即设置使用utf-8来解析请求参数;response.setCharacterEncoding(utf-8); /设置response编码方式(8)JNDIJNDI:为某个java对象起一个名字。如为Tomcat中的数据源起一个名字,从而让程序可通过该名字访问该数据源对象。(Tomcat内置了DBCP的数据源实现)若web应用访问了由servlet容器管理的某个JNDI资源,需要在web.xml中对这个JNDI资源的引用声明,表示资源引用的元素为。(9)sessionservlet容器为HttpSession分配唯一标识符sessionID。servlet容器把sessionID作为cookie保存在客户的浏览器中。若浏览器禁止cookie,servlet容器可重写客户请求的url,把sessionID添加到url信息中。HttpServletResponse接口提供了重写url的方法:encodeURL(url)。当用户第一次访问web应用中支持session的网页时,就会产生一个新的session。接下来当用户访问这个web应用的不同网页时,始终处于同一个session中。每次用户发出HTTP请求,servlet容器可从HttpServletRequest对象中读取sessionID。根据sessionID找到相应的HttpSession对象。设置session的三个方法:a、在tomcatconfserver.xml文件中定义。b、在web.xml中定义如: 30c、在程序中定义,如session.setMaxInactiveInternal(30);单位为秒。-1表示永不过期。以下情况,session将结束生命周期,servlet容器会将session所占资源释放掉:a、session过期;b、服务器端调用了HttpSession的invalidate()方法。session持久化:Tomcat采用Persistent Manager管理持久化session store。session store有两种实现:a、FileStore:将session数据保存在文件系统中;b、JDBCStore:将session数据保存在数据库中。(10)JNI即java本地调用接口。通过此接口,java程序可和其它语言编写的本地程序通信。(11)UTF-8、jar包、compiler,需要修改。(12)web程序实际部署时常用WAR包部署。可以将web程序打成zip包,然后修改文件后缀为WAR。(13)服务器知道了网址,便将网页的内容输出给浏览器。输出的内容可以是html文本,也可以是二进制数据,如图片、声音、视频等。浏览器将html文本显示为网页,将二进制内容还原为图片、声音、视频。80 表示连接服务器的80端口。post方式发送的命令,需要提供提交的数据类型及长度。数据类型有两种,普通的文本数据(ASCII码数据),类型为application/x-www-form-urlencoded,一种是文件数据(二进制数据),类型为multipart/form-data。Tomcat、浏览器已经实现好了HTTP协议。(14)Web开发中整合S2SH先导入Spring框架和支持Struts2的插件,接着导入Struts2框架,然后将Hibernate框架配置在Spring容器中。让Spring管理Struts中Action的初始化和Hibernate的会话工厂(SessionFactory)。(15)Java web应用的目录结构: webapp名 WEB-INF jsp、html等web.xml lib classes tld文件等(16)数据源(数据库连接池) web应用 javax.sql.DataSource接口(所有数据源必须实现此接口) DBCP数据源 JDBC Pool数据源 数据库数据库所能支持的并发连接数是有限的。连接未关闭,将导致数据库系统中的内存泄露。同一个连接使用次数过多,将导致连接不稳定。连接池基本思想:预先建立一些连接,放置于内存对象中保存。当程序需要建立数据库连接时,只需从内存中取一个来用而不用新建。(17) Apache+mod_jk+Tomcat或JBoss request(Apache监听端口)Apachemod_jk(应用服务器AJP端口)JBoss或Tomcat(应用服务器端口) (18)典型的web应用一般都有:a、登陆页,是整个应用的入口。当用户登录后,应用会将用户相关的安全信息放到session中。b、 有一个filter,它拦截请求,检查每个请求相关的session中是否包含有用户安全信息,若没有,请求被重定向到登陆页,要求用户提供安全信息。(19)开发文档API文档,看SDK示例来获取数据。SDK封装了调用API的请求、加密、返回解析等一些必要过程。(20)web服务器跟踪客户的状态通常有四种方法:a、在form表单中添加隐藏字段b、重写包含额外参数的URLc、使用cookied、使用sessionsession的状态跟踪有两种方式:a、使用cookie保留和传递sessionID,要求浏览器允许cookie,不要求程序对url处理。b、使用URL重写。显式在浏览器和服务器之间传递sessionID。要求程序对url进行编码,对浏览器没有要求。URL编码函数:encodeURL()。此方法由HttpServletResponse接口提供。servlet容器为HttpSession分配唯一标识符session ID。servlet容器将session ID作为cookie保存在客户的浏览器中。每次客户发出HTTP请求,serv
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 高考物理总复习专题十电磁感应第3讲电磁感应定律的综合应用练习含答案
- 劳务分包合同价款确定技巧
- 2023年华侨生联考英语作文真题
- 广东省肇庆市高中英语 Unit 4 Astronomy the science of the starsReading教案 新人教版必修3
- 九年级化学上册 第1单元 步入化学殿堂 到实验室去 化学实验基本技能训练(一)教案(2)(新版)鲁教版
- 2024年一年级品生下册《班级小公约》教案 未来版
- 2024年九年级化学上册 5.1 质量守恒定律教案(pdf)(新版)新人教版
- 2024-2025学年高中物理 第一章 动量守恒定律 3 动量守恒定律教案 新人教版选择性必修第一册
- 2024年四年级英语下册 Unit 8 What Can You Do Lesson 2教案 陕旅版(三起)
- 山东济南槐荫区2024-2025学年七年级数学第一学期期中考试试题(含答案)
- 尘肺病的知识讲座
- 2024年度《给教师的一百条建议》读后感课件
- 拔牙护理查房
- 发改委项目可行性研究报告编写指南
- 《上海车展报告》课件
- 数学象棋:将数学应用于象棋策略和思考
- 大学生生涯规划与职业发展智慧树知到期末考试答案2024年
- 消毒供应室护理查房
- 年产十二万吨天然橙汁食品工厂设计样本
- 消防安全与建筑设计的结合
- 幼儿细菌科普知识
评论
0/150
提交评论