如何学习java框架(精选10篇)
Oracle的Java EE 6提供了三大新技术和更多丰富组件和强劲的特色功能,很先进、实用,并且容易掌握,绝对值得java程序员等技术人员深入学习,全面提升自身的核心竞争力。
Java EE 6的第一大新技术就是支持JAX-RS(JSR 311),JAX-RS是RESTful Web Services Java API的简写,Java EE 6包含了它的最新1.1版本,它可以让程序员迅速构建遵循REST(Representational State Transfer,表象化状态转变)风格软件架构的轻量级Web服务,它对于每个资源都使用全局引用标识符URI,并拥有直接通过HTTP传输数据的能力,可以使用标准的固定动词—GET,PUT,POST和DELETE等来操作这些资源。同时,JAX-RS为在Java中构建RESTful Web服务提供了标准化API,API还提供了注解、相关的类和接口,这使得在Java中创建RESTful Web服务变得简单。
Java EE 6的第二大新技术是它可以支持面向Java EE平台的上下文和依赖性注入-CDI(JSR 299),CDI是Context and Dependency Injection的简写,它是Java EE平台的Web层和企业层之间的一座桥梁。通过CDI,不仅可以让企业层通过诸如EJB和JPA等技术,对事务性资源提供强有力的支持。同时,通过CDI,使得Web层也能够支持事务,这样在Web应用程序中访问事务资源就更容易了。
支持Bean验证(JSR 303)是Java EE 6的第三大新技术,Bean验证提供了一个遵循JavaBean规范编写的Java类,它提供了标准验证框架,并可在应用程序的所有层之间共享,简化了验证,减少重复、错误和凌乱。
以上三种技术,就是深入学习java必备的,当然,强大的java不只这些,需要学习的还有很多,同时也需要连续的练习,这样才能成为真正的java高手。如何深入学习java
我是一个劲头十足的读者。所以,我的第一个关于学习JavaScript的技巧就是关于阅读,这绝不是巧合。书籍和其他的资源(如文章)可以在很大程度上帮助你学习JavaScript。通过实践学习,书籍是我学习新学科最喜欢的方式。在学习JavaScript的情况下,我将会向所有人推荐两本书。第一本是 Nicolas C. Zackas的《JavaScript高级程序设计》。这本书将会带领你从JavaScript基础到最高级的主题。当你看完这本书,并且练习你所学过的知识点时,你将会掌握扎实的JavaScript知识。如果你掌握了这本书里面的所有知识点,我相信它会让你离成为一个JavaScript专家更近一步。不过,这本书还不够。不要误会,这本书是很好而且包含了很多内容。问题就在于由于ECMAScript6的介绍很多都改变了。
这本书涵盖了之前版本的JavaScript,所以,如果你只看《JavaScript高级程序设计》,你可以学习JavaScript,但是你不能学到最新的JavaScript特性。这就是为什么会有第二本书。这本书是出自同一个作者的《了解ECMAScript》本书包含了有关JavaScript的前沿信息。阅读这本书,ECMAScript 6 将不再是你的问题。不过这有一个忠告,不要在阅读Web开发人员专业的JavaScript书籍之前阅读它。
SSH 是指 Struts+ spring+ hibernate 的一个集成框架,这是一种比较流行的java web应用程序开源框架。
Struts
Struts是一个基于Sun J2EE平台的MVC框架,主要采用Servlet和JSP技术来实现的。由于Struts能充分满足引用开发的需求,简单易用,敏捷迅速,所以很受关注。Struts 吧Servlet、JSP、自定义标签和信息资源(message resource)整合到一个统一的框架中,开发人员利用其进行开发室不用再自己编写实现全套的MVC模式,极大的节省了时间。
Spring Spring是一个解决了许多在J2EE开发中常见的问题的强大框架。Spring提供了管理业务对象的一致方法并且鼓励了注入对接口编程而不是对类编程的良好习惯。
Spring的架构基础是基于JavaBean属性的Inversion of Control 容器。然而,这仅仅是完整图景中的一部分:在Spring使用IOC容器作为构建完关注所有架构层的完整解决方案是独一无二的。Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误。Spring的数据访问架构还集成了Hibernate 和其他O/R mapping 解决方案。Spring还提供了唯一的事物管理抽象。它能够在各种底层事务管理技术,例如JTA 或者JDBC事务提供一个一致的编程模型。Spring提供了一个标准Java语言编写的AOP框架,他给POJOs提供了声明式的事务管理和其他企业事务——如果有必要还可以实现自己的aspects。这个框架提供了可以和IOC容器集成的强大而灵活的MVC web框架。
Hibernate Hibernate 是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,是的java程序员可以随心所欲的适用对象编程思维来操控数据库。Hibernate 可以应用在任何使用JDBC的场合,既可以在java客户端程序中使用,也可以在Servlet/jsp的web应用中使用,其最具革命性意义的是:Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。
在SSH的组合框架模式中,三者各自的作用 Struts 是一个很好的MVC框架,主要技术是Servlet和JSP。Struts的MVC设计模式可以让我们的逻辑思维变得很清晰,让我们写程序层次分明。
Spring提供了管理业务对象的一致方法,并鼓励注入对接口编程而不是对类编程的良好习惯,使我们的产品在最大程度上解耦。
Hibernate 是用来持久化数据的,提供了完全面向对象的数据库操作。Hibernate对JDBC进行了非常轻量级的封装,使得他与关系型数据库打交道变得非常轻松。
负责Web层:
ActionFormBean接收网页中表单提交的数据,然后通过Action进行处理,再Forward到对应的网页,在Struts-config.xml中定义了,ActionServlet会加载进来。
Spring负责业务层管理,即Service:
Service为Action提供统一的调用接口,封装持久层的DAO,并集成Hibernate,Spring可对JavaBean和事物进行统一管理。
Hibernate负责持久层,完成数据库的CRUD操作:
Hibernate有一组hbm.xml文件和PO,是与数据库中的表相对应的,然后定义DAO,这些是与数据库打交道的类。
在Struts+Spring+Hibernate系统中,对象之间的调用流程如下:
Struts——>Spring——>Hibernate
有如下公司或组织开发jdk
sun jdk
ibm jdk
bea jrocket
gun jdk
其中ibm的jdk包含的jvm(java virtual machine)运行效率要比sun jdk包含的jvm高出许多。而专门运行在x86平台的jrocket在服务端运行效率也要比sun jdk好很多。但不管怎么说,我们还是需要先把sun jdk掌握好。
1、jdk的下载和安装
jdk又叫做j2se(java2 sdk standard edition),可以从sun的java网站上下载到,http://java.sun.com/j2se/downloads.html,jdk当前最新的版本是j2sdk1.4.2,建议下载该版本的jdk,下载页面在这里:http://java.sun.com/j2se/1.4.2/download.html。
下载好的jdk是一个可执行安装程序,默认安装完毕后会在c:program filesjava目录下安装一套jre(供浏览器来使用),在c:j2sdk1.4.2下安装一套jdk(也包括一套jre)。然后我们需要在环境变量path的最前面增加java的路径c:j2sdk1.4.2bin。这样jdk就安装好了。
2、java documentation
java编程手册,java核心所在3、java 应用服务器
a、tomcat
b、ibm webshpere
c、bea weblogic
d、免费 jboss4、java应用的运行环境
应用服务器(app server)
app server是运行java企业组件的平台,构成了应用软件的主要运行环境。当前主流的app server是bea公司的weblogic server和ibm公司的websphere以及免费的jboss,选择其中一个进行学习就可以了,个人推荐weblogic,因为它的体系结构更加干净,开发和部署更加方便,是java企业软件开发人员首选的开发平台。下面简要介绍几种常用的app server:
1、tomcat
tomcat严格意义上并不是一个真正的app server,它只是一个可以支持运行serlvet/jsp的web容器,不过tomcat也扩展了一些app server的功能,如jndi,数据库连接池,用户事务处理等等。tomcat被非常广泛的应用在中小规模的java web应用中,因此本文做一点下载、安装和配置tomcat的介绍:
tomcat是apache组织下jakarta项目下的一个子项目,它的主网站是:http://jakarta.apache.org/tomcat/,tomcat最新版本是tomcat4.1.27,软件下载的连接是:http://
在启用这两个管理工具之前,先需要手工配置一下管理员用户和口令。用一个文本工具打开catalina_homeconftomcat-users.xml这个文件,加入如下几行:
这样用户“robbin”就具备了超级管理员权限。重新启动tomcat以后,你就可以使用该用户来登陆如上的两个管理工具,通过web方式进行tomcat的配置和管理了。
2、bea weblogic
weblogic可以到bea的网站上免费注册之后下载到最新的weblogic8.1企业版,license可以免费使用1年时间,其实这已经完全足够了。weblogic的下载连接:http://commerce.bea.com/index.jsp,.../edocs.bea.com/。
3、ibm webshpere
websphere同样可以下载到免费的试用版本,到ibm的developerworks网站可以看到websphere试用产品的下载和相关的websphere的资料,developerworks中文网站的连接是:http://。
4、jboss
jboss是免费开源的app server,可以免费的从jboss网站下载:http://,然...n.com/idea.html
四、java应用的运行环境
java的应用可以简单分为以下几个方面:
1、java的桌面应用
桌面应用一般仅仅需要jre的支持就足够了。
2、java web应用
java的web应用至少需要安装jdk和一个web容器(例如tomcat),以及一个多用户数据库,web应用至少分为三层:
browser层:浏览器显示用户页面
web层:运行servlet/jsp
db层:后端数据库,向java程序提供数据访问服务
3、java企业级应用
企业级应用比较复杂,可以扩展到n层,最简单情况会分为4层:
browser层:浏览器显示用户页面
client层:java客户端图形程序(或者嵌入式设备的程序)直接和web层或者ejb层交互
web层:运行servlet/jsp
ejb层:运行ejb,完成业务逻辑运算
db层:后端数据库,向java程序提供数据访问服务
4、java嵌入式应用
在学习了三周的Java基础编程语言之后,我对Java有了一定的了解。Java是由Sun公司推出的一种面向对象的程序设计语言,现在被广泛应用于很多领域。最让我关注的一点,Java是一种开放性的技术,简称开源,与其它的编程语言相比,我始终觉得它更具有优势,并且容易掌握。同时,通过孟老师幽默风趣的讲解方式,让我对Java的学习更加的感兴趣。
第一周,我们主要学习了Java的基本概念,分支结构,循环结构以及数组。基本概念可分为以下三个部分:
(一).常量、变量、表达式。所谓常量,就是运行期间不可以改变的量,比如圆周率。变量,代表一块存储区域,并且存储区域的值是可以改变的,比如客房。通常变量的定义具有一定的规则,简称"变量三要素",变量类型变量名 = 初始值;
变量名的命名规则需要遵循:
1.智能由数字、字母、下划线及美元符组成,并且不能以数字开头。
2.不能重复定义已经定义过的变量名。
3.不能使用系统保留字。
4.要见名知意。
表达式:由常量、变量、运算符组成,并且每个表达式都会有一个返回值。其中运算符包含:+、-、*、/、%、++、--、=,符合运算符包含:+=、-=、*=、/*、%=,例如a += b → a = a + b。
(二).Java注释,单行注释,以//开始的行。多行注释,用/*和*/界定的行
(三).Java基础数据类型,整数类int,浮点型float,文本类char。
分支结构:Boolean类型,非真即假数据类型,只存在True或False。
(一).条件表达式:
关系表达式,重点在于关系运算符的掌握,>、<、>=、<=、==、!=,其返回值为boolean类型;
学习java天赋是很重要,但不是绝对的至少我是这么认为的!我想说的是我认为态度决定一切,Java的J2SE是Java的核心基础,学好SE部分对Java后期的深入学习非常重要。在SE部分,有许多的知识要点:类的概念、类的继承、多态、接口、面向对象等等。对于这一阶段的学习,除了课堂上的听讲,最最重要的是代码的实践,通过编写代码来理解上述所说的知识点的,将抽象的东西变成可以被你理解,应用的工具,熟能生巧嘛。
其次,学习的方法也很重要!好的方法会事半功倍哦!例如在编写代码的过程中可能会有这样那样的问题,遇到问题请教别人是一种不错的方法,但是,我认为最好不要马上请教身边的高手。自己先试着想办法解决,分析问题,对症下药,让自己有解决问题的成就感!但也不要在某个问题上发费太多的时间和精力,那样会使你产生挫败感,丧失学习的兴趣。在适当的时候请教高手,你会受益良多!
再次,对于资源的使用,也是提高学习效率的方式。SUN公司提供了专门的API文档,供开发者学习JAVA,遇到没见过的类、接口或者某个方法,就可以通过查询API文档获得帮助!不要忽视API文档,它是你学习JAVA很重要的帮手!网络也是另一种宝贵的资源,你可以下载一些JAVA的视频教程来复习和巩固知识、上网查询你解决不了的问题、到相关的论坛转转,发表你未解决的问题,听听高手的想法!
其实在刚接触Java时,自己确实有点晕,但经过一段时间学习,逐渐走出了迷雾。刚开始学习循环时,我觉得那一块很不熟悉,做题时,思路半天才理出来。经过一段时间的练习,我渐渐的走出了第一个迷雾。但是到了第六章,我彻底晕了,看书看得也一知半解晕晕乎乎的。类与对象是在学了第七、八章后弄清的。到了最后一章,学到字符串时,传递参数真让我晕啊,然后我又是练习,最后略微弄明白了点。我总结了我学Java的特点:先是不懂,后明白,再次不懂,又明白,又一次晕,最后弄清。经过三起三落,经过几个迷雾之后,我对Java也有了更为深入的了解,就学会了Java。
我觉得把Java学会的关键一点就是坚持练习。学习Java时每天必须保证一定量的练习,我们老师也说学习编程语言没有捷径可走。真的,只有每天反复操作了,经常写代码了,我们在遇到问题时才有一定的思路。欲速则不达,学习编程语言需要一个比较漫长的阶段,不能一步登天,这需要一个过程,在这个过程中慢慢积累经验,扎实基础。不要以为写出了一个简单的小程序,就认为自己已经学的很好了,这只不过是在你学习编程过程中一个小小的实践。不要满足于现状,要不断完善自己的知识体系,善于总结实践经验。要端正自己的学习态度,是主动去学,而不是被动!提高自学能力。学习编程的秘诀是:编程、编程、再编程。不仅要多实践,而且要快实践。
我们在看书的时候,不要等到完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让更快更牢固的掌握知识点。程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。当你学习一个类以后,你就可以自己写个简单的例子程序来运行一下,看看有什么结果,然后再多调用几个类的方法,看看运行结果,这样非常直观的把类给学会了,而且记忆非常深刻。然后不应该满足把代码调通,你应该想想看如果我不这样写,换个方式,再试试行不行。记得哪个高人说过学习编程就是个破坏的过程,把书上的例子,自己学习Documentation编写的例子在运行通过以后,不断的尝试着用不同的方法实现,不断的尝试破坏代码的结构,看看它会有什么结果。通过这样的方式,你会很彻底的很精通的掌握Java。举个例子,我们都编过Hello World,一开始很多同学不是很理解为什么main方法一定要这样来定义public static void main(String[] args),能不能不这样写?我刚也有这样的疑问。想知道答案吗?很简单,你把main改个名字运行一下,看看报什么错误,然后根据出错信息进行分析;把main的public取掉,在试试看,报什么错误;static去掉还能不能运行;不知道main方法是否一定要传一个String[]数组的,把String[]改掉,改成int[],或者String试试看;不知道是否必须写args参数名称的,也可以把args改成别的名字,看看运行结果如何。我当初学习Java的时候就是这样做的,把Hello World程序反复改了七八次,不断运行,分析运行结果,最后就彻底明白为什么main方法是这样定义的了。这样虽然比较费时间,不过一个例子程序这样反复破坏几次之后。我就对这个相关的知识彻底学通了。有时候甚至故意写一些错误的代码来运行,看看能否得到预期的运行错误。这样对于编程的掌握是及其深刻的。
当然学习环境对学习效率也很重要。在学习的这段日子,我感触很多,我们班的学习氛围还不错,有时候大家一起讨论、学习、共同进步,有问题也可以询问助教,比自己一个人闭门造车来的更有效果!讲师在授课之余,还传授很多其他方面的知识,大大扩展了我们的见识,增加了学习的兴趣!
学习是一个日积月累的过程,只有从菜鸟做起,一步步的来,才能在学习JAVA的道路上留下你深深的脚印,在学习中享受!人之所以能,是相信能!同时在学习过程中应该注意的几点有:
1)首先是java环境的配置,对于已经习惯双击“setup”进行安装的我们来说,安装完毕后就可以使用软件了,但是java不是这样,安装完java jdk后需要对你所在的操作系统进行环境的配置,设置一些最最基本的环境运行变量。测试环境变量的配置是否正确。
2)添加你应用所需的功能扩展jar包。
3)配置好应用需要的dll动态链接库文件。
4)在项目建立初期进行输出打包测试,这样做的好处在于:应用软件的最终运行状态是软件需要发布,并可以在其他用户的计算机正确的运行,项目初期就进行输出、安装测试可以提早发现软件的非编码错误,另一点是将软件初期的GUI操作发布给用户,可以让用户提出一些宝贵的软件功能、界面上的整改意见,这样可以使软件更贴合用户的需求。
5)多多阅读相关知识点的英文资料,当然好的中文资料也是不可少的。
6)多多访问一些技术论坛,国内还是有一些不错的纯技术论坛的,在哪里你可以看到java的方方面面,及时更新自己的知识,“冲刷”自己的头脑是非常必要的,国外的技术论坛有时候需要翻墙才能访问,需要提前准备好翻墙的工具。不过我发现台湾的java论坛比国内的好,从版面的设置到人的参与性都比国内的要好,学习讨论的氛围也很浓厚。
7)多多写写问题总结,这样可以使自己加深对问题解决方法的理解,说不定哪天你会有更好的方法来解决问题。
8)多多学习别人的源代码,要知道社会发展到今天都是后人站在前人肩膀上作出来的成就,必须要清楚的知道现在的工作都是靠一群人开发才能完成的,学习别人的代码可以少走弯路,使自己更快的成长。
9)看一些技术的原理性东西,当然这个取决于你自己想从深层次的方面去应用技术还是泛泛的应用就行,每次都想快速的掌握他,虽然短时间里看起来很“繁荣”,但是当需要深入应用时就会发现心有余力而力不足,所以在适当的时间看一些技术原理性的东西是非常有必要的。
10)最后是一个个人习惯,在今天你打开计算机前或打开IDE前,先想好今天要完成哪些工作,昨天的问题解决了吗?如果没有是否有了新的思路?软件代码的备份也很重要。
J2EE又包括许多组件,如JSP,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。
那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。如果你学过HTML,那么事情要好办的多,如果没有,那你快去补一补HTML基础吧。其实JSP中的Java语法也不多,它更象一个脚本语言,有点象ASP。然后你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?还好,SUN提供了Javabean可以把你的JSP中的Java代码封装起来,便于调用也便于重用。接着就是EJB了,EJB就是Enterprise JavaBean,看名字好象它是Javabean,可是它和Javabean还是有区别的。它是一个体系结构,你可以搭建更安全、更稳定的企业应用。它的大量代码已由中间件(也就是我们常听到的Weblogic,Websphere这些J2EE服务器)完成了,所以我们要做的程序代码量很少,大部分工作都在设计和配置中间件上。至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看JavaMail了。
好了,对Java和J2EE有了一些基本概念之后,你就应该编一些程序了,千万不要纸上谈兵哦。最好找一些有实例且带光盘的书来看,这样看到好的程序就可以直接Ctrl+C再Ctrl+V,也不用劳您老大架再亲自把它 再输一遍吧,再说直接复制还不用怕出错,何乐而不为呢!还有就是要经常上一些好的Java编程文章,有好的文章要Cut下来,有问题尽管问,只要问题不是太傻,一般高手都会回答你的。下面介绍几个好的Java方面的编程网站:
CSDN论坛 http://?csdn IBM可是Web服务的力推者
java是一门更倾向于网络的语言java学习心得体会java学习心得体会。不要上来就学习JSP,这样不好,因为这没有基础。在以后的学习中很可能遇到很多的麻烦,这就不好了。
2、信心,恒心,毅力是最重要的。这是我们必须具备的心理素质。要是学习这门语言开始的时候很有兴趣,遇到苦难就退缩,这样最终会放弃学习java,没有经历风雨怎么见彩虹。编程就是有的时候就是那么这么人java学习心得体会心得体会。
与Servlet有关的隐含对象
page、config
与Input/Output有关的隐含对象
out、request、response
JSP执行时,提供有关Context的隐含对象
session、application、pageContext 与Error有关的隐含对象
exception
2.get与post区别
get方式:将表单内容经过编码之后,通过URL发送,使用get方式发送时有255个字符的限制(可以在地址栏里看到方式和地点)
post方式:将表单的内容通过http发送,post没有字符长度的限制(在地址栏里看不到表单提交的信息
3.forward与sendredirect区别 服务器端跳转
使用
使用服务器端跳转,可以通过
response.sendRedirect(“uri”);地址栏改变的跳转
所有代码执行完毕之后再跳转
使用response时,不能保存request属性
使用客户端跳转,可以通过重写URL的方式来传递参数 4.JSP内置对象session
session对象用来存储有关用户会话的所有信息直到它的生命周期超时或被人为释放掉为止。
设置session session.setAttribute(“name”, “admin”);根据名称去获取session中存放对象的值
String name =(String)session.getAttribute(“name”);根据名称去删除session中存放对象的值 session.removeAttribute(“name”);用户注销功能的实现 session.invalidate();5.JDBC API JDBC API可做三件事:与数据库建立连接、执行SQL语句、处理结果 DriverManager :依据数据库的不同,管理JDBC驱动 Connection :负责连接数据库并担任传送数据的任务
Statement(PreparedStatement):由 Connection 产生、负责执行SQL语句 ResultSet:负责保存Statement执行后所产生的查询结果
JDBC应用开始->装入JDBC驱动程序
->创建与数据库的连接->创建语句对象——Statement或PreparedStatement->利用语句对象执行SQL语句,得到结果
->处理结果 JDBC应用结束 6.MVC设计模式
模型(Model)JavaBean 代表应用程序状态和业务逻辑
视图(View)JSP 提供可交互的客户界面,向客户显示模型数据
控制器(Controller)Servlet 根据客户的请求来操纵模型,并把结果经由视图展现给客户
Model I设计模式
JSP+JavaBean(View + Model)
Model II设计模式
JSP+JavaBean+servlet(View + Model+controller)
Model I和Model II的对比
Model I缺少控制器(Controller),不易维护和扩展 Model I开发速度快,适用于开发中、小型项目
Model II 代码的重用性 有利于开发的分工
各司其职、互不干涉 7.EL表达式
由于jsp标准动作的局限,一般是操作JavaBean的属性
JavaBean的属性只能为基本数据类型不能进行逻辑操作,而el却可以精确的访问存储对象,Bean属性的简略记法,空值取代错误消息 优点
代替复杂代码,省去条件判断 访问Bean的属性 Bean属性的简略记法
以输出MVC中的内容,代码简单 8.EL隐式对象
pageScope:范围和JSP的page相同,只限于当前页面 requestScope:范围和JSP的page相同,范围限于一次请求 sessionScope:范围和JSP的session相同,范围为一次会话
applicationScope:从服务器一开始执行服务,到服务器关闭为止 9.jsp中动态include和静态的include 区别
动态INCLUDE总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。
静态include伪码实现,不会检查所含文件的变化,适用于包含静态页面 10.Servlet和JSP的关系
Servlet是JSP的早期版本,在JSP中,更加注重页面的表现,而在Servlet中则更注重业务逻辑的实现。
同时,JSP只能处理浏览器的请求,而Servlet则可以处理一个客户端的应用程序请求。因此,Servlet加强了Web服务器的功能。10.Servlet的生命周期
Servlet是服务器端运行的。Servlet是javax.servlet包中HttpServlet类的子类,由服务器完成该子类的创建和初始化。
Servlet的生命周期主要由3个过程组成。
1、init()方法:服务器初始化Servlet。
2、service()方法:初始化完毕,Servlet对象调用该方法相应客户的请求。
3、destroy()方法:调用该方法消灭Servlet对象。其中,init()方法只在Servlet第一次被请求加载的时候被调用一次,当有客户再请求Servlet服务时,Web服务器将启动一个新的线程,在该线程中,调用service方法相应客户的请求。11.JSP 6种基本动作
jsp:include:在页面被请求的时候引入一个文件。jsp:useBean:寻找或者实例化一个JavaBean。jsp:setProperty:设置JavaBean的属性。jsp:getProperty:输出某个JavaBean的属性。jsp:forward:把请求转到一个新的页面。
jsp:plugin:根据浏览器类型为Java插件生成OBJECT或EMBED标记
12.Request对象的主要方法:
setAttribute(String name,Object):设置名字为name的request的参数值 getAttribute(String name):返回由name指定的属性值
getAttributeNames():返回request对象所有属性的名字集合,结果是一个枚举的实例 getCookies():返回客户端的所有Cookie对象,结果是一个Cookie数组 getCharacterEncoding():返回请求中的字符编码方式 getContentLength():返回请求的Body的长度
getHeader(String name):获得HTTP协议定义的文件头信息
getHeaders(String name):返回指定名字的request Header的所有值,结果是一个枚举的实例
getHeaderNames():返回所以request Header的名字,结果是一个枚举的实例 getInputStream():返回请求的输入流,用于获得请求中的数据 getMethod():获得客户端向服务器端传送数据的方法
getParameter(String name):获得客户端传送给服务器端的有name指定的参数值 getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举的实例
getParameterValues(String name):获得有name指定的参数的所有值 getProtocol():获取客户端向服务器端传送数据所依据的协议名称 getQueryString():获得查询字符串
getRequestURI():获取发出请求字符串的客户端地址 getRemoteAddr():获取客户端的IP地址 getRemoteHost():获取客户端的名字
getSession([Boolean create]):返回和请求相关Session getServerName():获取服务器的名字
getServletPath():获取客户端所请求的脚本文件的路径 getServerPort():获取服务器的端口号
removeAttribute(String name):删除请求中的一个属性 13.会话跟踪技术
Session 隐藏表单域 URL重写 Cookie使用 14.cookie的使用
cookie是一段字符串,由HTTP支持,在客户端可以永久保存.写入(硬盘).每次请求,响应中都会为cookie留有空间.Cookie cookie=new Cookie(“name”,cookie);//必须指定cookie的键与值,且必须为字符串.response.addcookie(cookie);
cookie.setMaxAge(3600);//以秒为单位.读取客户端发送过来的cookie,返回值类型为: cookie数组
—————————————————————————————————— 我是从事软件相关工作的,仅仅给你一些个人建议吧:
首先对于JAVA基础,如果你没有基础,我推荐你《java开发实战经典》李兴华的教程,起点很基础,后期讲的内容深度事宜,很适合入门的教材。
当你JAVA基础有一定功底后,在选择一本JAVA WEB的书籍,如果你比较适应李兴华的教程,可以继续选择他的书。
但是在你学习java的同时,一定要注意对MVC设计模式的了解与渗透,为今后的学习做下铺垫。在你大体掌握JAVA语法的同时,建议你开始学习Oracle的相关知识名主要以SQL语句为主,一定要熟练掌握。在对数据库库有一定了解后依次开始进行下列学习:
1,JDBC数据库连接
2,html静态网页设计
3,Servlet的应用
4,MVC设计思想
5,javaWEB,jsp页面设计
6,小型项目实践
7,Struts框架学习
8,大型项目实践
事实上到第6的时候,既可以算是进阶学习了。
另外要提的是,学习JAVA的捷径不仅仅是看书,视频教程也是很重要的,之所以推荐你这两本书,是因为教程非常优秀,另外你可以看看马士兵的视频,同样会让你受益匪浅。如果需要的话你留下邮箱,我可以给你发过去。
学习java一定要多敲代码多练习,这才是根本。相信你拥有10000行有效代码的时候就可以真正地进行框架的学习了。学习软件java编码是基础,框架应用和项目的设计思路才是最重要的。在你学习java基础和高级的时候,一定要注意相关知识的渗透和了解,就业方面来讲,现阶段的就业前景很好,Java的需求量很大。但是就于现阶段的状况,安卓在出现以后,抢占了不少市场。但是必须告诉你的是,软件行业是青春饭,只靠编码的工作生命周期最多5年,技术快速更新,新人不断涌现。你必须要有足够的项目经验才能长久立足。另外,加入你刚刚开始学习,你必须考虑你就业的时候会不会出现人才过剩....我个人认为3年之内Java还是没有问题的,剩下就靠你的能力啦。软件行业极其重视你的能力的~
祝你成功吧~
追问
谢谢了,不能同时给好几个人分数。
回答
^_^之后我把资料给你发过去吧~
| 评论
2012-5-17 02:23 chengangzhengd | 四级
软件工程重要的几科是:计算机算法、数据结构(特别重要)、操作系统、计算
机网络、分布式系统。这几科理论一定要认真学好,一定要掌握好,它们决定了你日后的路能走多远,至于上面的编程语言都只是他们的实现,学习那种语言由你自己决定,如果你学的是java或者是C++,那么还要精通“设计模式”以及“面向对象理论”。下面是我学习java的路线图。
1.首先找一本简单的教材,先对java有个基本的认识(大概看那么半个月就差不多了,随便下载一本入门的书就行了)
2.然后推荐你看<
3.这个时候可以看看<
4.然后java就会分方向,j2me(手机编程),已经过时了;j2ee方向(Web编程),先学html,javaScript,css(这些书多得数不清),然后就学servlet、jsp还有tomcat服务器,《jsp应用开发详解》(入门)《Servlet与JSP核心编程》(核心)《Tomcat与Java Web开发技术详解》这几本书还不错,然后就可以学习SSH
5.学习数据库理论、JDBC(最好能够学好oracle),学习struts的时候建议从struts1开始学起《精通Struts基于MVC的Java Web设计与开发》,然后就可以学习struts2《Struts2权威指南》,接下来学习Hibernate《精通Hibernate:Java对象持久化技术详解》,最后学习Spring《spring2.0技术手册》和EJB《Enterprise JavaBeans, 2nd Edition》(提示:只要java基础学得好,这些东西都会学得很快)
6.这个时候就要把注意力放在设计模式(做应用特别重要),数据结构和计算机算法上面来了,设计模式可以先看<<深入浅出设计模式>>然后再看<
7.等掌握前面的这些知识之后,推荐看<
本书弄懂了,那么学习jquery和extjs都会很快的<<深入浅出ExtJS>>和《锋利的jQuery》。
8.学习SSH源码,里面的思想太多太有用了。不要心急,不要图快,所有的书要一本本的慢慢看,多看几遍(一本书看上个四五遍,就可以成高手,呵呵)。
9.java基础(j2se)的重点有:继承、多态、流、线程、网络编程、反射、集合、数据库连接、泛型、JNI技术、分布式技术还有解析xml也是很重要的,如果你想学android手机编程,那么SWING和AWT要熟悉一下。《Google+Android开发入门与实战》(入门)《Google Android SDK开发范例大全》(深入)(建议把android当作业余爱好,把web编程当作主攻方向,因为j2ee包含了大量框架知识),书很多,可以自己去搜。多想 多看 多练才是王道,不要相信什么培训机构,这些都没啥用,真正学好只能靠自己。
10.面向对象思想+java基础(j2se)+数据结构+设计模式+计算机算法为核心,本科生什么都可以不学好,唯独这几科一定要学好,切记切记!(第二个重点)
11.学完以上的知识,可以做一个ERP系统了,不过这些都还只停留在Web application阶段,这里也是本科生与研究生的分水岭!
12.互联网的制高点是Web Service,前端是J2EE+移动终端(Android、IOS、黑梅),后端是linux操作系统。
12.那么如何将大量的服务器集成呢?如何把一个工作分为多个任务分发给多个服务器来处理呢?如何将解决多个服务器之间通信的问题呢?如何解决服务器之间高并发的问题呢?
如何建立一个Web Service提供接口让外界调用呢?(这些都是研究生学习的内容)
13.深入理解计算机网络、操作系统、分布式系统的原理知识。学习RMI、JMS、《JAVA消息服务》,《JAVA并发编程实践》对这些问题都有一个初步的介绍与实现
14.学习linux操作系统《鸟哥的私房菜》
15.学习处理服务器端的海量数据,云计算等知识《Hadoop权威指南》
16.集成系统的时候,有可能上游企业用的是其他的语言,那么你还得去学另外的语言。
17.掌握一门脚本语言,比如ruby
【如何学习java框架】推荐阅读:
如何学习中医10-24
职场如何学习10-27
如何提升托福写作框架结构11-21
如何提高学习心得07-04
如何学习高中数学07-11
如何学习小语种07-13
如何安排学习计划11-09
如何创设学习情境12-13
关于学习的800字作文:如何高效学习10-18
如何上yy学习05-26