javaweb学习心得
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
javaweb学习心得
正文
第一篇:javaweb学习心得
学习心得
在写心得之前总结下中级部分学习的内容,我们的中级部分主要学习了html,css,javacript,xml,dtd/scheam,以及java ee 中的jsp,servlet,过滤器,监听器,jstl,el,jquery,ajax。
下面就各个模块进行总结:在学习html时,我是对这个没太在意的,因为里面
全部是标签,没有需要理解的内容,全部是属于识记的,所以在学习时相对轻松,对于html常用的标签都是非常清楚的form中的十一种类型,常用的有text,password,hidden,submit,button,radio,checkbox,等其他的标签如div,table,span,select都是重要的标签.
css的学习:虽然说在标签中也可以定义样式,但是这么做看起来不是那么明智,我在学css时还是比较努力的,所有的样式效果都测试过,并且写了相应的案例,只是过了不到3个月就忘了一大半,很多时候都是查文档才能写出来的,虽然
css对于我们来说不必要非常精通,但是我觉得掌握的东西越多,以后的工作就
越轻松,所以在中级结束后也会去看看前面的笔记和案例。
javascript:js 我认为是最重要的,甚至于超过servlet,jsp,在上课期间,讲的内容还是比较少的,就javascript中创建对象来说吧,应该只讲过3中方法,虽然在一般的情况下是用不上的,但是我觉得还是有必要学习的,这样有助于看懂别人写的框架,在javascript这部分学习中讲的最多的还是dom操作,不过我觉得用dom操作太繁琐了,写的代码太多,而且效率看起来也不高,后面就是讲
的事件,事件也算是简单的,只是对触发的事件进行相应的响应。
除了这些就是javascript流程控制,对象一些基本语法,这些和java类似,所以在上课时没有
讲得太多。
xml: extensible markup language可扩展标记语言。
它是由sgml(standard gerneralized markup language)发展而来的,允许开发者自定标签,可以将标签和
内容有效的分离。
在xml技术里,可以编写一个文档来约束xml文档的书写规范,称之为xml约束。
本文主要介绍dtd与schema两种约束,在这里学习了dtd,scheama,定义xml约束,这部分的学习是我感觉最累的一部分,dtd还算好,scheama里面的内容,现在都忘了,没有任何记忆,只知道在xml约束中有着两中方式,还好这些在刚开始工作时是用不上的,因此我也没有用很多时(敬请期
待好更好文章:)间来学习。
servlet:我觉得是比较简单的,可能是因为它是java代码,容易理解。
首先讲的是开发环境的配置,安装tomcat,了解tomcat下的目录,以及web工程下的目录。
后来是讲了servlet的访问方式,post和get的区别,处理中文乱码是servlet 中一个重要的知识点,几乎每个项目都会遇到这个问题。
主要乱码有get,post 乱码,是通过设置request或者response的编码方式来实现的。
servlet间的跳转方式有重定向和转发,对于重定向和转发的区别,现在理解的很透彻了,重定向是不能获取request中参数,是客户端的两次请求,而转发是服务器内部跳转,
不过,两种在设置过滤器的情况下,都要通过过滤器才能跳转。
servlet的生命周期是笔试的必考题,其实这是很简单的,只需要理解,没必要死记硬背的,session 算是重要的知识点,很多数据都是存储在内存中,如购物车,用户信息等,还可
以对session设置生存时间。
说到session就必须说说四种会话跟踪技术,cookie,url重写,表单域隐藏和session。
jsp:jsp实际上和servlet是一样的,只不过两者侧重点不同,jsp的内置对象和作用域大致是一样的,jsp中还有动作,常用的有操作javabean的动作,页面跳转的动作,以及包含的动作。
这里重点提到两种包含的区别。
在jsp还讲过jstl 和el表达式,都是基础的应用,不过写自定义的标签还是要有一定的java基础的,我开始不太理解标签的解析过程,后来看了几个例子,发现自定义的已不是那么难。
jquery:jquery可以说是中级部分学的最好的,主要是它方便了,特别是选择器,
而且避免了一些浏览器的差异,所以在学习jquery后,就再也不想用javascript 来获取元素了。
不仅如此,jquery中封装的ajax操作也是非常简单,不需要自己封装一个类,$.get和$.post 能够省去很多麻烦,jquery的监听事件也是很简单,不需要在标签中添加对应事件,可以动态的绑定事件。
还有就是dom操作更是方便。
我在学习完ajax,json后就发现,即使是没有jsp,也能做出一个动态页面出来,只是会存在效率问题。
总结:虽然说这上面的知识大部分都掌握了,但是能否灵活运用才是重点,所以在今后的学习中多思考问题是否有多种解决方法。
第二篇:javaweb学习
javaweb学习笔记___d9.txt
20XX-12-14 22:51
session (会话)
session对象
1、存在于服务器端
2、依赖于线程
3、session的生命周期,跟一次浏览器窗口有关,只要窗口不关闭,session便存在,所以称会话。
session
1、技术内核使用cookie:
session参在与服务器端
服务器端为多个session创建不同的session id
把session id以cookie的形式送入到客户端
request.getsession()内涵是:在cookie中查找
session id,若cookie中存在sessionid,则根据
sessionid,将sessionid对应的session找到,
并返回;若cookie中并不存在sessionid,
服务器端创建session,并将sessionid写入到cookie中。
2、当关掉对话窗口(结束一次会话)时,session并没有被删除,只是关掉对话窗
口时,cookie被清空
无法再获得sessionid,无法找到对应的session,但是session还是存在于服务器端。
若想真正删除session,需要调用httpsession中的invalidate()方法,使得session 失效。
3、服务器为了考虑效率,不会让无用的session存在很久,http协议是无连接协议,服务器端无法判断客户端是否关闭“会话”,
所以服务器设置了失效时间。
若用户在了段时间内,不操作session,则系统删除session。
我们可以设置此时间setmaxinactiveinterval(),但不推荐用户自行设置。
4、session技术在很大程度上,依赖于cookie,若cookie被禁用,或浏览器不支
持cookie,则session就无法使用。
5、为了解决第四点所引申的session不可用的问题。
我们使用url重写,将sessionid 通过地址栏提交参数,发给服务器端。
使用response.encodeurl()在地址栏中加载sessionid通过
request.getparameter(jsessionid)得到sessionid
a、string url encodeurl(string url);通过超链接,重新发出请求,此请求会在地址之
后自动加上sessionid及其id值,
此方法又被子称为url重写,或重新封装。
b、string url encoderedirecturl(string url);将地址封装成
sendredirect方法所需要的地址,并在此地址后加入sessionid
servlet api小结:
httpservletrequest:接口
1、setattribute()、getattribute()、getattributenames
getparameter()//只能获得表单中的内容
2、getcharacterencoding()、setcharacterencoding()
获得、设置request中的数据编码方式
3、getcontenttype()得到mime,即ie文件打开的方式
4、cookie[] getcookies()
得到当前所有的cookie
5、getsession()
获得或创建session
6、getrequestdispatcher(string path)将目标页面封装,为了forward()进行页面转向。
7、getrequestedsessionid()得到一个session的id
总结:
request对象封装了客户端的请求和相关信息。
包括:
1、cookie
2、封装http协议的报头(请求方式、请求服务器的端口、请求服务器ip地址、编码方式、
请求的项目用的名字、请求消息的长度、浏览器的信息、客户端信息??)
3、表单数据
httpservletresponse:接口(响应)
用它跟客户端联系,并且向客户端发送数据
1、getcharacterencoding()得到向客户端发送数据的默认编码方式。
2、getcontenttype()得到向客户端发送数据的默认类型(html或者jpeg等等)。
3、getoutputstream()得到与客户端建立的输出字节流,传输二进制。
4、getwriter()得到与客户建立的输出字符流,传输文本文件。
5、setcharacterencoding()设置的是要发送给客户端的数据的编码方式。
6、setcontenttype(string type)设置并告知客户端,执行这些二进制时,用何种类
型打开(html、jpeg等等)。
7、addcookie(cookie cookie)将cookie的键和键值成对的送到客户端
8、一些的set方法用来指定客户端运行时的一些属性。
例:缓存、打开方式、
消息头的控制等等
9、encodeurl(string url)、encoderedirecturl(string url)**在地址后追加session的id,用来实现cookie被禁用后,session依然可以使用。
10、sendredirect(string location)页面的重定向
cookie:类
1、cookie(string name,string value)创建cookie并将键,键值,存入到cookie中
2、getmaxage(int)设置cookie的生命服周期,当参数是负数时:窗口(会话)被关掉时,清空cookie
3、getname()获得cookie中的键
4、getvalue()获得cookie中的健值
httpsession:接口
1、getattribute(string name)、setattribute(string name)
2、getid()获得session的唯一标识id
3、getmaxinactiveinterval()、setmaxinactiveinterval()得到和设置session的失效时间
4、invalidate()使得session失效
5、isnew()布尔类型,判断session是否是新创建的
httpservlet:类
1、doget(httpservletrequest req,httpservletresponse resp)
当用户以get方式发出请求时,servlet调用此方法
2、dopost(httpservletrequest req,httpservletresponse resp)当用户以post方式发出请求时,servlet调用此方法
3、public void init()throws servletexception
用户第一次请求servlet的时候,容器需建立servlet对象,同时调用init()方法
4、service(servletrequest req,servletresponse res)
开辟多线程,并根据用户提交的方式,选择调用doget()还是dopost()方法
此方法不建议重写
第三篇:javaweb学习路线
转载一个好的路线!!
java分成j2me(移动应用开发),j2se(桌面应用开发),j2ee(web企业级应用),所以java并不是单机版的,只是面向对象语言。
建议如果学习java体系的话可以这样去学习:*第一阶段:java基础,包括java语法,面向对象特征,常见api,集合框架;
*第二阶段:java界面编程,包括awt,事件机制,swing,这个部分也可以跳过,用的时候再看都能来及;
*第三阶段:java api:输入输出,多线程,网络编程,反射注解等,java的精华部分;*第四阶段:数据库sql基础,包括增删改查操作以及多表查询;
*第五阶段:jdbc编程:包括jdbc原理,jdbc连接库,jdbc api,虽然现在hibernate 比jdbc要方便许多,但是jdbc技术仍然在使用,jdbc思想尤为重要;
*第六阶段:jdbc深入理解高级特性:包括数据库连接池,存储过程,触发器,
crm思想;*第七阶段:html语言学习,包括html标签,表单标签以及css,这是web应用开发的基础;
*第八阶段:javascript脚本语言,包括javascript语法和对象,就这两个方面的内容;*第九阶段:dom编程,包括dom原理,常用的dom元素以及比较重要的dom编程思想;
*第十阶段:servlet开发,从此开始踏入java开发的重要一步,包括xml,tomcat 服务器的安装使用操作,http协议简单理解,servlet api等,这个是java web开发的基础。
*第十一阶段:jsp开发:jsp语法和标签,自定义标签,el,jstl库了解以及mvc三层架构的设计模式理念;
*第十二阶段:ajax开发:ajax原理,请求响应处理,ajax开发库;
*第十三阶段:轻量级框架,三大框架之一struts框架的学习,自此踏入java web 开发的精华部分,包括struts体系架构,各种组件,标签库和扩展性的学习;
*第十四阶段:hibernate框架学习,三大框架之一,包括检索映射技术,多表查
询技术,缓存技术以及性能方面的优化;
*第十五阶段:spring框架的学习,三大框架之一,包括了ioc,aop,datasource,事务,ssh集成以及jpa集成;
*最后呢,还有些java的技术,包括ejb3.0等,可以选择学习,与三大轻量级框
架相比,ejb就是当之无愧的重量级了(不过ejb3.0减肥许多了较ejb2.x来说)。
补充:jsp部分主要包括了:
1、jsp指令和动作指令;
2、jsp内置对象(request,response,session,out,application等);
3、jstl(jsp标准标签库);
4、jsp数据库操作(jdbc);
第四篇:关于javaweb课程设计的心得体会
关于javaweb课程设计的
心得体会
----在线测试系统
这次课程设计我做的是章节自测系统,主要是服务于学生进行阶段性自测和练习。
系统分为练习和测试两部分,每一部分又各分若干专题。
系统中采用的技术主要有:jdbc数据库连接技术、和mvc三层架构利用myeclipse集成开发环境。
虽然系统的基本功能都已实现,但还是存在系统不稳定等多个问题尚待解决。
这个系统主要是我自己开发的,但也得到了老师和同学的很大帮助。
我正在做系统的过程中遇到了很多问题,有的是知识存储不足,有的是考虑不够周全,之所以能够顺利实现基本功功能,离不开老师和同学的大力相助。
事实证明,只靠自己是不能顺利完成一套功能完整的系统的,必须充分利用团队的力量。
开发一套系统,最重要的是细心,并不是一定要做到面面俱到,但也要充分考虑到客户的需求和现实意义,不管什么系统,只用运用到实际应用中,才具
有先现实意义。
所以在准备工作中要正确分析社会需求了解现实应用,画出流程图,把大体框架做好,然后再逐一细化。
我们不可能做到面面俱到,但一定要做
到步步扎实,作为一个程序编程人员,要保持清醒的头脑,以现实为依据,让自
己的每一行代码都能实现自己的意义。
通过这次课程设计,我收获的不仅仅是课程上的知识得到实际应用,还有编程的基本习惯和开发系统时应注意的流程。
主要功能及规格分析
1.1 登录系统的主要功能要求
欢迎页面
系统安全登录
管理员或普通用户功能选择
1.2 在线考试系统的主要实现功能要求
用户修改登录密码
让用户选择考试科目
从试题库中随机出题给用户
根据随机出的题做出用户的考试页面保存用户的答案
给用户的试卷评分
查询用户成绩
1.3 在线管理系统的主要功能要求
浏览整个系统中的各种用户(超级用户、普通用户)
添加管理员和普通用户
浏览并添加考试科目
浏览并添加题库
管理员修改登录密码
1.4在线阅卷系统的主要功能要求
浏览系统中考试科目
根据考试科目进行试卷批改
实现客观题的自动批改
实现主观题的人工批改
2、功能需求和用例分析
2.1系统功能需求:老师可以在网上完成一个考试从题目设计,试题录入,考试安排,考试实施,考卷批
改,分析统计;考试数据,其它数据要求储存在数据库上;考试数据的存放和处
理可以实现对学生公开(学生自测成绩可自己查看)也可以实现非公开,需要一定的安全性保障。
2.1.1考生:
(1).分布式的,从考试客户端连接到考试应用服务器,在任何地方进行身份确认,从而完成考试
(2).考生可以登陆后修改自己的密码
(2).题目具有一个稳定性和随机性,试卷生成方式主要有两种(随机自动生成、固定试题、)
(3).考生提交试卷后可以得知考试结果并且知道哪里出错。
2.1.2老师:
(1).提供一个功能全面的考试管理客户端,可以进行考试的设计和安排功能
(2).对考生进行身份管理
(3).对考试进行监控
(4).保存考试结果,供老师进行分析和察看。
2.2 用例描述:
帐户管理
用例名称:帐户管理
参与者:超级用户
功能描述:1. 查看学生详细信息
2. 添加和删除学生用户
3. 添加和删除教师用户
考试管理
用例名称:考试管理
优质文档在您身边/双击可除参与者:超级用户
功能描述:1. 设置考试题型
2. 设置考试分值
3.设置考试时间和难度级别
4.设置题目显示方式(全屏显示所以题还是一屏一题)
5.设置出题方式(随机出题还是固定试题)
题库管理
用例名称:题库管理
参与者:超级用户
功能描述:1.题库分类和题型管理
2.添加和删除、修改试题
3.试题成批倒入
在线阅卷
用例名称:在线阅卷
参与者:超级用户
功能描述:1.查看学生是否交卷
2.系统对照题库答案给出考试成绩. 开始考试
用例名称:开始考试
参与者:普通用户
功能描述:提示普通用户输入参数,系统将进行随机抽题,然后进入考试界面
修改密码
用例名称:修改密码。