javaweb总结

2022-06-07

  总结在一个时期、一个年度、一个阶段对学习和工作生活等情况加以回顾和分析的一种书面材料,它能使我们及时找出错误并改正,让我们一起认真地写一份总结吧。总结怎么写才不会流于形式呢?下面是小编精心整理的javaweb总结范文,仅供参考,希望能够帮助到大家。

javaweb总结范文1

  在实现记事本的功能过程中,也不是很顺利,基本的文件读写和保存文档的复制、粘贴、删除等功能还比较容易实现,但如何改变字体、字体颜色和背景颜色,就比较麻烦了,要实现字体颜色和背景颜色,首先要调用系统的调色板,再进行设置。但如何调用系统调色板?我是通过查阅帮助文档来找到其调用方法的。像自动换行、设置字体等都是通过方法来调用,给相关事件加上监听,在进行响应事件。整个程序中方法才是最关键的,也是最困难的。所以像查找、替换、转到几个功能我都不知道用什么方法,也由于时间有限,没有完成其功能。总体的感觉是对java有了一个全新的认识,现在感觉用java做小的图形用户程序有些缺陷,但是在其的应用方面。尤其是有网络方面的应用,在整个实训我也尝试过做一个小的画图软件。但是由于时间关系还有一个是自身的知识的欠缺,最终这个事情被搁浅下来了。最后还是进行计事本的编写。由于在做画图软件时花了不了时间,所以现在的计事本的功能不是很全,如果有更多的时间,我会把这个记事体再完善一下,再把画图软件也做出来。实训的时间不长,但是我会在课外把它们的功能完善。然后再学习一下java和网络的编程,体验java的前沿技术。

  在学习的过程中也体会到,遇到问题也要请教。不然的话自己一个人去做的话会花很多的`时间,我在做这个记事本的时间,其中也问到过许多问题,通过同学的帮助下解决了,提高了程序的开发进程。其他的同学有问题的话我也是给他们尽量解决。我认为学习知识的过程当中就应该是相互学习相互进步的。

  Java是面在的主流技术我会努力将它学好,现在我缺乏的是坚持不懈的精神,我会向他学习。

  虽然学习java的路还很找,但我会继续走下去。

javaweb总结范文2

  1、In Action

  (1)根据添加信息()来考虑表中的字段,进行建表。使用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,,[list]

  严格区分单复数形式,单数表示对象,复数表示对象集合。

  对象、属性最好单个单词。

  (7)前后台都要校验。

  (8)按照资源方式组织数据接口,对前端开发帮助很大。即通过REST来实现资源的增、删、改、查。

  (9)软件开发,思路最重要!代码开发多了,思路就有了。

  a、一个版本一个版本递增的开发; 每个版本增加一点内容;

  b、总结开发思路;第一步怎么做,下一步怎么做?

  c、用文档记录开发的思路,即第一个版本开发实现了什么功能以及开发步骤,下一个版本实现了什么功能等等?

  d、程序员进行程序开发时,不要仅仅停留在代码,要深入到底层的运行机制,才可以对程序的运行机制有更准备的把握;

  (10)网页模板

  request到template.jsp文件(此文件假设包括三个部分,即title、banner、body)

  web客户——> title

  banner———————>include:banner.jsp

  body————————>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)、类设计,编写时先完成基本功能的实现,然后再对实现功能的代码结构进行优化。

  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)JNDI

  JNDI:为某个java对象起一个名字。如为Tomcat中的数据源起一个名字,从而让程序可通过该名字访问该数据源对象。(Tomcat内置了DBCP的数据源实现)

  若web应用访问了由servlet容器管理的某个JNDI资源,需要在web.xml中对这个JNDI资源的引用声明,表示资源引用的元素为。

  (9)session

  servlet容器为HttpSession分配唯一标识符sessionID。servlet容器把sessionID作为cookie保存在客户的浏览器中。若浏览器禁止cookie,servlet容器可重写客户请求的url,把sessionID添加到url信息中。HttpServletResponse接口提供了重写url的方法:encodeURL(url)。

javaweb总结范文3

  1.JSP运行原理

  (1)用户通过客户端浏览器向服务器发送请求。

  (2)JSP文件将JSP引擎编译成Java的class文件,即servlet。

  (3)将产生的servlet加载到内存执行。

  (4)Servlet的运行结果以HTML(或XML)形式通过web服务器返回客户端的浏览器。

  2.web项目设计

  (1)公开目录 (2)web_INF目录 (3)Class目录

  3.JSP的基本语法

  (1)脚本元素:声明、脚本段、表达式。

  (2)脚本段:<%>

  (4)表达式:<%=>

  (5)EL表达式:${ }

  (6)指令元素:<%>不在客户端可见

  用于包含其他文件可以是静态文件,也可以是动态文件。?包含动态文件时

  用传 (建一值)

  考点:

  4.指令与动作的区别(include)

  1.执行时间不同

  指令<%@ include="" file=" ">是偏译时包含静态文件

  动作?是运行时包含的文件

  2.引入内容不同

  指令<%@include file="relatirveURI">引入静态文本(html.jsp)。

  动作引入执行页面或severlet的应答文本。

  5.JSP内置对象

  Out,request,response,session,application,page,pageContext,exception,config

  request客户端向服务端发送请求。

  response用于服务器端封装JSP处理请求后产生的结果。

  response对象的send Redirect(url)方法相当于两次请求。

  而在网址不变情况下内部跳转不同页面,但依旧属于同一次请求

  6.session和cookie的区别

  1.存放地点不同

  Session存放在服务器端,cookie存放在客户端的硬盘里

  2.存活时间

  session随用户访问服务器而产生,随客户下线或超时而消失

  3.安全性

  session存放在服务器端,不能被修改,且随客户端浏览器的关闭而消失,安全性较好。Cookie存放在客户端,安全性较差。

  7.数据库

  java.sql.Driver

  java.sql.DriverManager——加载驱动程序

  java.sql.Connetion——表示数据库连接对象,对数据库一切操作都在这个基础上

  java.sql.Statement——执行SQL语句和返回结果

  java.sql.ResultSet——结果集用来暂时存放数据库查询操作结果

  8.编写程序的步骤

  1.装载驱动程序

  class.forName("com.mySQL.jdbc.Driver")

  2.定义所需连接数据库的地址

  String mysqlURL="jdbc.mysql://host:port/dbName"

  3.建立与数据库的连接

  Connection conn=DriverMannager.get Connection(url,"登录数据库用户名","

  密码")

  4.声明并执行SQL语句

  5.处理返回的结果

  6.关闭对象

  String driverStr="com.mysql.jdbc.Driver"

  String connstr="jdbc:mysql://localhost:3306/book";

  Class forName(driver Str)

  Connection conn=DriverManager.getConnection(connstr."root"."123") 第4步:建立语句对象

  Statement stmt=conn.createStatement()

  第5步:声明并执行SQL语句

  String sql="select*from book";

  ResultSet rs=stmt.executeQuery( sql);

  第6步:

  Statement接口的3个方法:1、ResultSet executeQuery(String sql)

  2、int execute Update(String sql)

  3、boolean execute(String sql)

  ResultSet的方法:1、boolean next()

  2、get xxx()

  第7歩:rs.close() stmt.close() con.close()

  注:关闭资源的顺序与打开资源顺序恰好相反。

  第8步:异常处理

  try{.........}catch(SQLExecption ex){.........}

  9.Java Bean 组件(可重用)

  组件:是一个独立的模块,外界可以不了解内部如何实现,只需通过其提供的接口对组件进行访问即可,组件可重用。

  特点:1、实现代码重复使用;2、易编写,易维护,易使用。

  10.Java Bean类的编码约定

  1、类实现了java.io.Serializable接口

  2、必须放在某个Package(包)中

  3、类中如果有构造方法,那么这个方法是共有的,并且无参数

  4、所有属性都是私有的(private修饰)

  5、get XXX:用来获取属性,此方法是共有的

  6、set XXX:用来设置属性,此方法是共有的

  7、对于boolean类型的成员变量允许使用“is”代替“get”和“set”

  8、类中的普通方法不适合上面的命名规则,但这个方法必是public的。

  3个标记:

  网页中创建JavaBean实例

  用于为bean中的属性赋值

  用于获取bean中属性的值

  id=”javaBean实例名” class=”javaBean对应的类名”设置的属性

  获取JavaBean实例指令的属性值,并将这个值转换成字符串显示到JSP页面。

  11.servlet的生命周期

  (1)当客户第一次请求servlet时,servlet被加载到内存 容器会创建servlet实例,并调用其init()方法进行初始化工作。

  (2)容器创建请求对象,然后调用servlet的service()方法为客户提供服务。

  (3)当servlet不再被需求时,容器调用servlet的'destory()方法将servlet实例销毁。

  12.Servlet开发

  引入import.javax.servlet.* 和import.javax,servlet.http.*包

  13.Servlet过滤器

  Servlet过滤器是一种java组件,它位于客户端和处理程序之间

  Servlet过滤器工作原理

  14.Model1和model2

  Model1:JSP+JavaBean

  Model2:JSP+Servlet+JavaBean

  Model1中,jsp页面实现页面显示、业务逻辑和流程控制,数据处理由JavaBean完成。

  优点:进行快速和小规模的应用开发时优势非常明显。

  缺点:不利于web应用的扩展和更新;调试和排错困难。

  Model2中,MVC模式--->模型-视图-控制器.即把web应用的输入输出和处理流程按照Model.View和Controller分成三层。

  Model1和Model2的区别:

  Model1和Model2实际上就是对采用JSP技术开发的web应用的不同模型的描述。Model1采用JSP+JavaBean技术开发web应用,它比较适合小规模应用的开发,效率较高,易于实现,但由于在JSP页面中内嵌了大量的Java代码,以至于当业务逻辑复杂时,代码可维护性、可扩展性和可重用性就会下降;Model2采用JSP+Servlet+JavaBean技术开发web应用,该模型基于MVC模式,完全实现了页面显示和逻辑的分离,它充分利用了JSP和Servlet两种技术的优点,JSP更适合前台页面的开发,而Servlet更擅长服务器端程序的编写,Model2分工明确,更适合大型项目的开发和管理。

  视图(view)用于与用户交互,可以用HTML.JSP实现。

  15.模型(model)用于表示业务数据和实现业务逻辑,可以用JavaBean实现 控制器(controller)完成流程控制,它接收来自视图层用户输入的数据,并调用相应的模型进行处理,最后选择合适的视图去响应用户。控制层可以用Servlet实现。

  优点:MVC模式完全实现了页面表示和业务逻辑的分离;

  MVC优势之一在于三层各司其职,互不干涉。

  缺点:没有明确的定义。

  模型层为JavaBean,实现了数据的表示和业务逻辑,视图层为JSP页面,只负责显示功能。

  控制器为Servlet,负责接收用户的请求,设置JavaBean属性,调用JavaBean完成业务处理,最后将处理结果交给JSP页面显示。

  16.自定义标签

  对隐式对象的操作、处理表单、访问数据库及其他企业级服务。

  自定义标签种类:

  1.不带有属性和标签体:

  2.带有属性没有标签体的标签:

  3.带有属性带有标签体:myBody

  17.EL表达式

  基本语法${expr}

  功能:对属性对象的简明访问:${user}

  对属性对象的属性访问:${customer.firstname}

  对属性集合元素的访问:对数组和list:${variable[index]} 对map:${variable[key]}

  对请求参数cookie等的简单访问.

  请求参数${param.custID}

  Cookie对象:${cookie.userCookie}

  18."."操作符和"[ ]"操作符

  ${user.address}=${user[address]}

  访问数组和集合元素,需使用[ ]

javaweb总结范文4

  优点:

  1.开发顺序基本正确。业务->建表->主界面->其它界面->javabean->dao类->完成功能->整合。

  2.严格按照三层架构模式开发。JSP<->Servlet<->Server->dao->javabean。

  3.为了方便管理.每个页面的servlet都单独有一个包。

  4.关于javabean设计比上次javaweb项目做了修正。拿学生<->班级举例.学生表的班级表通过班级id外键关联.学生的bean对象应该有班级对象,而不是班级的id。这样有了一个学生就有了学生所在这个班级所有信息,符合逻辑。

  <%@ taglib="" prefix="s" uri="/struts-tags">

  <%

  String path = request.getContextPath();

  String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

  %>

  <meta http-equiv="pragma" content="no-cache"/>

  <meta http-equiv="cache-control" content="no-cache"/>

  <meta http-equiv="expires" content="0"/>

  <meta http-equiv="keywords" content="keyword1,keyword2,keyword3"/>

  <meta http-equiv="description" content="This is my page"/>

  <title>分页</title>

  <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

  <script type="text/javascript">

  var tableData = [{"C0":"临夏州_康乐县","C1":190893.39,"C2":24544.65,"AREA_ID":"930013005"},{"C0":"临夏州_永靖县","C1":368900.35,"C2":40592.19,"AREA_ID":"930013006"},{"C0":"兰州市_东岗分局","C1":88.48,"C2":126.4,"AREA_ID":"930013106"},{"C0":"临夏州_临夏县","C1":107337.9,"C2":20612.1,"AREA_ID":"930013008"},{"C0":"临夏州_广河县","C1":69738.07,"C2":34894.44,"AREA_ID":"930013003"},{"C0":"临夏州_和政县","C1":46622.96,"C2":20954.97,"AREA_ID":"930013002"},{"C0":"临夏州_东乡县","C1":96021.84,"C2":16725.63,"AREA_ID":"930013004"},{"C0":"临夏州_临夏市中心","C1":1845311.12,"C2":129478.93,"AREA_ID":"930013001"},{"C0":"天水市_秦州区","C1":0,"C2":0,"AREA_ID":"930013801"},{"C0":"临夏州_积石山","C1":256181.79,"C2":15185.98,"AREA_ID":"930013007"},{"C0":"酒泉_肃州区","C1":264312,"C2":402.6,"AREA_ID":"930013701"}];

  var columns = [{"cid":"C0","ctext":"区县"},{"cid":"C1","ctext":"客户总收入"},{"cid":"C2","ctext":"当月出账费用"}];

  /**

  page:页码

  pageSize:每页的记录条数

  此方法除了传入page和pageSize之外,还应知道的有三个参数:

  一、表的全部数据,json串格式,可通过action查询数据库得到。

  二、表头所对应的'列的key及名称,也是json串格式

  三、表所对应的id

  注:此处只是适合表头只有一行,且事先写好的情况。您可以根据需要改一下,逻辑思路就是这样,欢迎批评指正。

  */

  function splitPage(page,pageSize){

  var ptable = document.getElementById("page_table");

  var num = ptable.rows.length;//table.rows返回表格中包含的所有行,此处假设表由表头1行和表体N行组成

  //alert(num);

  //清除tbody

  for(var i=num-1;i>0;i--){

  ptable.Row(i);

  }

  var totalNums = tableData.length;//总行数

  var totalPage = Math.ceil(totalNums/pageSize);//总页数

  var begin = (page-1)*pageSize;//页起始位置(包括)

  var end = page*pageSize;//页结束位置(不包括)

  end = end>totalNums?totalNums:end;

  //向tbody中写入数据

  var n = 1;//tbody的起始行

  for(var i=begin;i<end;i++){

  var row = ptable.Row(n++);

  var rowData = tableData[i];

  for(var j=0;j<columns.length;j++){

  var col = columns[j].cid;

  var cell = row.Cell(j);

  var cellData = rowData[col];

  cell.innerHTML = cellData;

  }

  }

  //生成分页工具条

  var pageBar = "第"+page+"页/共"+totalPage+"页"+" ";

  if(page>1){

  pageBar += "首页 ";

  }else{

  pageBar += "首页 ";

  }

  if(page>1){

  pageBar += "

  </script>

javaweb总结范文6

  经过这最近一段时间的项目开发与考核,今天终于画上圆满的句号,我长呼了一口气,同时在内心深处,也默默地为接下来的学习,做一个前段时间的项目总结,也是学习的总结,吸取之前的经验教训,前事不忘后事之师,错误并不可怕,可怕的是再在同一个地方犯同样错误,所以对于我来说,更多的去自我认知,知我批评要比表扬和赞许来的更加深刻,非常有必要做一个总结。

  虽然所做的项目并没做到考核老师所希望看到的效果,和得到正面的点评,也与自己所想象的结果大相径庭,当然可能在项目最开始的时候,我也曾做过这样最坏的打算,但是当现实渐渐逼近的时候,我却一时难以接受这样的结果,是我意料之外,但也是情理之中,俗话说:种瓜得瓜,种豆得豆。

  在项目开发其中,我有过给自己找借口,有过灰心的时候,也有过急躁,如坐针毡的时候,但是想要作为一个合格优秀的程序员,你不仅不能这样的情绪,而且在真实的开发环境当中,会有遇到比这更艰难的情况,更不好开发环境,所以要完成一个项目的开发,我得要利用好为数不多的学习时间,更加勇敢的直面这些缺点,并且改正它,不要认为自己以前没学过JAVA,没有这方面的经验而去给自己找借口,越过心理上的这一到鸿沟。

  考核的胡老师说过:不要总是把自己当成一个学生去看待,这样容易松懈,应该是把自己当做一个职业人去看待,做好当下的每一个效果,上好当下的每一节课,让自己时时刻刻紧张起来。这样类似的话,在我之前的公司,也有主管这样说过,虽然我已大学毕业了,没有完全把自己当一个学生去看待,但自己又何尝不是有过这样的念头,特别是别人都是这样想的时候,学习的态度不够坚定,立场不坚决,这也是导致我没有学好的主要原因之一吧。

  工善欲器事,必先利其器。除了保持好的.心理和端庄学习的态度外,更要总结更好的学习方法,不要让自己陷入到疲惫学习的死胡同了,积累好的学习经验,去掌握好的学习方法,好的学习方法不仅是自己当下一笔无形的财富,也是在不久的将来,在工作当中竞争的一把利器。

  吾日三省吾身,只有在自己的总结中给予自己更多的认知,反思,而少一些褒奖,这样自己会对平时忽视的一些地方,能有更加深刻的理解和认识,实践是检验真理的唯一标准,虽然实践中我们所遇到的挫折与失败会有无数次,而成功只有一次,但是只要成功了,我的付出就是值得的,就像前面有无数个-1,但你只要最总做到了一个+1,你的结果就是+1的,在别人的眼里你就是成功的,在客户的眼里,你项目是物美价廉的。

  回想在这一个多月的学习时间里,我学到了许许多多让我感觉比较充实的知识,掌握了更多的学习的方法,但这都是与大家息息相关的,离不开老师的教导和同学的帮助,也在此非常感谢大家热心帮助。

  • 相关推荐

【javaweb总结】相关文章:

不是总结的总结作文07-31

对老板总结感想总结三篇08-17

语言组总结计划总结范文08-07

不是总结的总结作文550字07-31

支教的总结05-03

支教的总结05-03

支教的总结05-03

支教的总结05-03

支教的总结05-03

支教的总结05-03