仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1102|回复: 18
打印 上一主题 下一主题

[学习教程] JAVA教程之进修java必要晓得的一些成绩

[复制链接]
精灵巫婆 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:41:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
多谢指点,其实我对.net和ruby也不是很了解,对与java也只是刚起步的阶段,只是在学习中有了点想法就写出来了,现在俺本科还没毕业,所以对大型项目基本上也没有什么经验。成绩1、筹办篇

1甚么是J2EE?它和一般的Java有甚么分歧?
答:J2EE全称为Java2Platform,EnterpriseEdition。
“J2EE平台实质上是一个散布式的服务器使用程序计划情况――一个Java情况,它供应了:
・宿主使用的一个运转基本框架情况。
・一套用来创立使用的Java扩大API。”(引自《J2EE服务器端初级编程》)

2J2EE勤学吗?
答:J2EE是良多手艺的汇合体,而且还在发展中。
你会碰到良多专着名词:好比(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,WebService……。
特别是XML和WebService正在疾速发展。侥幸的是,你不必要比及学会一切手艺后再入手下手编程。
大致上J2EE能够分红3个次要使用:Servlet/JSP,EJB,XML/WebService和一些支持手艺比方JDBC和JNDI。
你能够一个一个的学。

3J2EE有甚么用?
答:用来建立年夜型的散布式企业级使用程序。大概用更时兴的名词说就是“电子商务”使用程序。
这些企业大概年夜到具有中央数据库服务器,Web服务器集群和遍及天下的办公终端,也大概小到只不外想做一个网站。

4学J2EE有出路吗?
答:在这一市场今朝只要一种手艺能够和J2EE合作,那就是Microsoft的.NET。
绝对来讲.NET要“新”一些而J2EE要“老”一些。
可是.NET只能用于Windows平台(Microsoft宣称要开辟C#在Linux上的假造机可是还没有兑现该信誉),
思索到Linux的开展势头,你能够信任.NET不会金瓯无缺。

5听说J2EE的功能不如.NET好,是真的吗?
答:在Sun公司供应的样例程序PetStore上,Microsoft宣称不如不异的.NET程序好。
而Sun公司辩驳说这一程序不克不及真正表现J2EE的功能,而且求全谴责Microsoft在数据库上做了优化。
作者没有进修过.NET因此不克不及妄下断言。
不管怎样,年夜型散布式程序中的功能瓶颈一般起首来自于毛病的计划。

6听你说了这么多,我想学着玩玩。
答:除非你想靠它当饭吃大概作为手艺储蓄,不然请不要华侈你的工夫。
Flash要好玩很多。盘算机游戏就加倍好玩了。

7进修J2EE该怎样入手下手?
答:起首,下载一个J2EE服务器。其次,往java.sun.com下载J2EE的API。第三,找一本好的参考书。最初,找一个随手的IDE。
J2EE服务器。你能够用Sun的J2EESDK(收费),大概Weblogic(功能最好,可是太年夜,并且作者不保举盗版举动),大概JBoss(收费,就是文档太少),大概JRun(开辟版收费,作者用这个)。参考书作者感到Wrox的《J2EE服务器端初级编程》不错,可是太老(作者手头的是2001年中文版)。你还必要往下载一些最新的手艺材料(固然一定是英文的)。
IDE假如你的呆板设置够好(内存最少512M以上,256M或以下请勿思索),能够用IBM的WSAD,否则就持续用Eclipse大概其他。
你也能够常常往水木清华的Java版走走,可是在发贴前先看看精髓区里有无你要的谜底。

8我下了一个J2EE服务器可是不会设置。
答:请仔细浏览随机引导文档,分歧的服务器的设置都纷歧样,作者心有余而力不足。

9我发明你没有提到Tomcat。
答:Tomcat只是一个Web服务器,更正确地说次要只是一个WebContainer。
假如你想要进修EJB的话,Tomcat没法满意你的必要。

2、Servlet/JSP篇

10甚么是Servlet?
答:一个Servlet是一个Java类。它处置Http(s)哀求并作出呼应,包含前往一个HTML页面或转交给其他URL处置。
Servlet必需运转在一个WebContainer比方Tomcat中。
Servlet必需是javax.servlet.http.HttpServlet的子类,
你能够承继doGet()大概doPost()办法,二者分离对应于Http(s)中的Get哀求和Post哀求。

11我怎样取得Http哀求里的参数?
答:HttpRequest的getParameter()办法。比方:StringparamValue=request.getParameter("paramName");

12我怎样前往了局?
答:你能够使用相干API翻开一个输入流,并向流中间接写进一个HTML页面。
可是作者完整不同意如许做。一方面如许做会很罗嗦。
另外一方面从Model-View-Controller形式(在《J2EE中心形式》中被回为FrontController形式)的概念来看,
你应该供应一些HTML大概JSP作为视图(view),而Servlet则依据哀求参数决意转到哪个视图。
你能够使用response.sendRedirect(...)办法或request.getDispatcher(...).forward()办法来完成。

13sendRedirect()和forward()有甚么分歧?
答:sendRedirect()是向扫瞄器发送一个redirect关照,扫瞄重视定向到新的URL。
而forward是在服务器端间接转到新的URL,关于扫瞄器是通明的。
前者扫瞄器的地点栏显现的是新的URL,后者扫瞄器的地点栏显现的是Servlet的URL。
因此当方针URL会主动革新时,二者会形成一些不同。

14我写了一个Servlet程序,怎样运转它?
答:开辟J2EE程序有一个部署(deploy)的观点,实践上是开辟――部署――运转的三部曲。
年夜多半服务器撑持Hotdeploy。你只必要在响应的Application目次(详细路径依附于服务器)上面
创建一个切合WAR或EAR格局(拜见16,17)的目次,启动服务器,就能够经由过程扫瞄器会见了。
出格的,你的Servlet的class文件应该放在/WEB-INF/classes目次中。
注重J2EESDK不撑持Hotdeploy,你必要经由过程它的deploytool来部署。
Tomcat只撑持WAR格局。

15EAR和WAR有甚么分歧?
答:EAR是一个完全的J2EE使用程序,包含Web部分和EJB部分。
WAR只是个中的Web部分。

16EAR格局是如何的?
答:一个EAR能够包括恣意多个WAR或EJBJAR,而且包括一个META-INF的目次。
在/META-INF中包括了一个application.xml,个中形貌了这个EAR包括哪些模块,和平安性设置。
细节请看参考书。

17WAR格局是如何的?
答:一个WAR包括一个WEB-INF的目次,这个目次下包括classes目次,lib目次和web.xml。
/WEB-INF/classes寄存按package构造的class文件,/WEB-INF/lib目次寄存jar文件,
web.xml形貌了良多工具,请读参考书。

18我的一般HTML文件应该放在那里?
答:放在除/WEB-INF之外的其他中央。

19我会见不到servlet,乃至连HTML文件都会见不到!
答:第一你没启动服务器。第二你敲错了端口。第三你没有准确设置context-path。
第四你的服务器不撑持autoreload大概你封闭了这一选项,你得重启服务器。
第五确认你没有把HTML放在/WEB-INF目次下,那是会见不到的。

20我能会见HTML可是会见不到servlet。
答:请反省你的web.xml文件。确保你准确界说了<servlet>和<servlet-mapping>元素。
前者标识了一个servlet,后者将一个相对context-path的URL映照到一个servlet。
在Tomcat中你能够经由过程/context-path/servlet/package/servletname的情势会见servlet,
可是这只是Tomcat的便利会见体例,并非正式标准。
细节请看参考书。

21甚么是JSP?它和Servlet有甚么区分?
答:你能够将JSP当作一个可扩大的HTML来看待。
固然在实质上JSP文件会被服务器主动翻译为响应的Servlet来实行。
能够说Servlet是面向Java程序员而JSP是面向HTML程序员的,除此以外二者功效完整等价。

22我的JSP显现的汉字是乱码。
答:在你的JSP开首加上一行<%@pagecontentType="text/html;charset=gb2312"%>
假如你已声了然page我想你晓得该怎样修正。

23JSP文件寄存在那里?
答:除/WEB-INF下的任何中央。

24在JSP内里怎样援用JavaBean。
答:起首,确认你要援用的类在/WEB-INF/classes下或在/WEB-INF/lib的某个jar内。
其次,在JSP里加一行<jsp:useBeanid="..."scope="..."class="..."/>
详细注释请看参考书。

25我想在servlet间传送数据。
答:使用session。在Servlet/JSP中,你能够在4个中央保留数据。
1)page,本页面。
2)session,用来寄存客户相干的信息,好比购物车,对应接口为javax.servlet.http.HttpSession。
session机制实践上是cookie和URLRewrite的笼统,服务器会主动利用cookie或URLRewrite来完成。
3)request,能够在forward()时传送信息,对应接口为javax.servlet.http.HttpRequest。
4)application,或称context,寄存全局信息,对应接口为javax.servlet.ServletContext。

26怎样挪用cookie?
答:作者倡议利用session,你老是会碰到某些禁用cookie的用户。这时候session会主动利用URL重写来完成。

27怎样在JSP内里完成文件下载?
答:实践上这是一个HTML的成绩。谜底是一个超链接<a>。

28怎样完成文件上传?
答:客户端是HTML成绩,在form中设置method为post,enctype为multi-part/form-data,加一个<inputtype="file">。
而在吸收的servlet中只是一个I/O成绩。

29我想让页面主动革新,好比谈天室。
答:这是一个HTML成绩,在<head>部分中加一条<metahttp-equiv="refresh"content="5"url="...">。
这是所谓的Clinet-push,客户端革新手艺。

30我想让用户登录今后才干会见页面。
答:利用声明式平安措施。
你只必要在web.xml中界说平安脚色(Role),并界说受回护的URL汇合只能由特定Role会见。
年夜多半服务器撑持基于数据库的用户映照,你只需在响应数据库中创建两张表并设置服务器就能够了。
注重J2EESDK不撑持基于数据库的用户映照。
细节请看参考书和服务器文档。

31我想要能注册用户。
答:参看30。在承受注册哀求的Servlet中实行写进数据库操纵便可。

32怎样在JSP中会见数据库?
答:尺度做法是利用DAO形式,界说一个Javabean来会见数据库并在JSP中利用。
但是,当你的数据库形式很复杂时,你可使用JSTL中的<sql:query>标签来疾速会见。

33甚么是JSTL?
答:JSTL是JspStandardTagLibrary的缩写。这是一组通用标签并将成为JSP2.0的一部分。
个中包括赋值<c:set>,分支<c:if>,轮回<c:forEach>,查询数据库<sql:query>,更新数据库<sql:update>
等。今朝你必要像增加自界说标签库一样来增加JSTL,可是能够估计JSP2.0会将JSTL作为构成部分。
标签库能够在http://jakarta.apache.org下载。注重JSTL必要在撑持JSP1.2或更高版本的容器下运转。
匡助文件能够浏览sun的JSTL正式标准。


你说是sun公司对她研究的透还是微软?针对自己工具开发的.net性能上肯定会站上风的。
金色的骷髅 该用户已被删除
沙发
发表于 2015-1-21 12:52:27 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
乐观 该用户已被删除
板凳
发表于 2015-1-24 14:29:46 | 只看该作者
一般学编程语言都是从C语开始学的,我也不例外,但还是可能不学过程语言而直接学面向对象语言的,你是刚接触语言,还是从C开始学比较好,基础会很深点,如果你直接学习JAVA也能上手,一般大家在学语言的时候都记一些语言的关键词,常有的包和接口等。再去做逻辑代码的编写,以后的学习过程都是从逻辑代码编写中提升的,所以这方面都是经验积累的。你要开始学习就从
蒙在股里 该用户已被删除
地板
发表于 2015-1-31 19:03:22 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
小女巫 该用户已被删除
5#
发表于 2015-2-5 11:22:24 | 只看该作者
你一定会高兴地说,哈哈,原来成为Java高手就这么简单啊!记得Tomjava也曾碰到过一个项目经理,号称Java很简单,只要三个月就可以学会。
不帅 该用户已被删除
6#
发表于 2015-2-22 22:50:52 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
再见西城 该用户已被删除
7#
发表于 2015-2-26 20:24:28 | 只看该作者
Java自面世后就非常流行,发展迅速,对C++语言形成了有力冲击。Java 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台
飘灵儿 该用户已被删除
8#
发表于 2015-3-8 17:16:42 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
变相怪杰 该用户已被删除
9#
发表于 2015-3-15 15:24:02 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
若相依 该用户已被删除
10#
发表于 2015-3-22 01:10:38 | 只看该作者
Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。
飘飘悠悠 该用户已被删除
11#
发表于 2015-3-22 21:09:34 | 只看该作者
那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧!
第二个灵魂 该用户已被删除
12#
发表于 2015-3-28 04:19:43 | 只看该作者
Pet Store.(宠物店)是SUN公司为了演示其J2EE编程规范而推出的开放源码的程序,应该很具有权威性,想学J2EE和EJB的朋友不要 错过了。
莫相离 该用户已被删除
13#
发表于 2015-4-15 06:52:47 | 只看该作者
还好,SUN提供了Javabean可以把你的JSP中的 Java代码封装起来,便于调用也便于重用。
谁可相欹 该用户已被删除
14#
发表于 2015-4-20 16:03:28 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
分手快乐 该用户已被删除
15#
发表于 2015-4-21 18:30:56 | 只看该作者
应用在电视机、电话、闹钟、烤面包机等家用电器的控制和通信。由于这些智能化家电的市场需求没有预期的高,Sun公司放弃了该项计划。随着1990年代互联网的发展
兰色精灵 该用户已被删除
16#
发表于 2015-4-28 03:11:01 | 只看该作者
另外编写和运行Java程序需要JDK(包括JRE),在sun的官方网站上有下载,thinking in java第三版用的JDK版本是1.4,现在流行的版本1.5(sun称作J2SE 5.0,汗),不过听说Bruce的TIJ第四版国外已经出来了,是专门为J2SE 5.0而写的。
只想知道 该用户已被删除
17#
发表于 2015-5-6 23:10:14 | 只看该作者
当然你也可以参加一些开源项目,一方面可以提高自己,另一方面也是为中国软件事业做贡献嘛!开发者在互联网上用CVS合作开发,用QQ,MSN,E-mail讨论联系,天南海北的程序员分散在各地却同时开发同一个软件,是不是很有意思呢?
愤怒的大鸟 该用户已被删除
18#
发表于 2015-6-11 15:41:47 | 只看该作者
Java是一个纯的面向对象的程序设计语言,它继承了 C++语言面向对象技术的核心。Java舍弃了C ++语言中容易引起错误的指针(以引用取代)、运算符重载(operator overloading)
山那边是海 该用户已被删除
19#
发表于 2015-7-2 17:24:30 | 只看该作者
至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-5-1 14:54

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表