当前位置:文档之家› Java Web项目开发总结

Java Web项目开发总结

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客户——> titlebanner———————>include:banner.jspbody————————>include: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文件中是否配置了<error-page>元素。

若存在,则返回<error-page>元素的<location>子元素指定的错误页面。

否则直接将错误抛给用户。

(3)webApp部署好后,启动Tomcat会自动发布webApp。

首先是实例化Filter,并调用其init()方法初始化。

然后根据<load-on-startup>的数值(数值为0或正数,数值越小越先加载)来依次加载servlet,并调用其init()方法进行初始化。

若没有为servlet配置<load-on-startup>属性,则当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 资源的引用声明,表示资源引用的元素为<resource-ref>。

(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、在tomcat——conf——server.xml文件中定义。

b、在web.xml中定义如:<session-config><session-timeout>30</session-timeout></session-config>c、在程序中定义,如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文本显示为网页,将二进制内容还原为图片、声音、视频。

telnet 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数据源数据库数据库所能支持的并发连接数是有限的。

相关主题