仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1138|回复: 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性能上肯定会站上风的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-22 06:22

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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