首页 > 编程知识 正文

eclipse j2ee,j2ee教程

时间:2023-05-05 14:35:36 阅读:60909 作者:438

一、准备篇

什么是J2EE? 和普通的Java有什么不同?

答(a(j2ee均称为Java 2平台、企业版。

“J2EE平台本质上是一个分布式服务器APP应用程序设计环境——Java环境,它提供:

运行托管APP应用程序的基础架构环境。

用于创建APP应用程序的一组Java扩展API。 “引自《J2EE服务器端高级编程》”

2 J2EE容易学习吗?

答(A(J2EE是很多技术的集合体,还在成长中。

你会遇到很多专有名词。 (x ) HTML、servlet/JSP、JDBC、JMS、JNDI、EJB、XML、web服务……

特别是XML和web服务正在快速增长。 幸运的是,你不需要在掌握所有技术后开始编程。

大致上,J2EE可以分为servlet/JSP、EJB、XML/web服务和支持技术(如JDBC和JNDI )三个主要APP应用。

你可以一个一个地学习。

3 J2EE有什么用?

答:用于构建大型分布式企业APP应用程序。 或者用更时髦的名词来说,就是“电子商务”APP。

这些公司可能大到足以拥有中央数据库服务器、Web服务器群集和遍布全国的办公室终端,也可能小到想建立网站。

学习J2EE有前景吗?

答:在这个市场上,目前只有一项技术可以与J2EE竞争。 那是微软的. NET。

相对来说, NET必须是“新”,J2EE必须是“老”。

但是, NET只能在Windows平台上使用。 (微软声称要开发Linux上的C#虚拟机,但尚未实现这一承诺。)。

考虑到Linux的发展势头,可以相信. NET不会统一天下。

据说J2EE比. NET的性能差,是真的吗?

a .在sun公司提供的示例程序Pet Store中,微软声称它比同一个. NET程序更好。

Sun公司反驳说,该计划并不能真正发挥J2EE的性能,并指责微软在数据库上进行了优化。

作者没有学习过. NET,所以不能断言。

无论如何,大型分布式程序中的性能瓶颈通常首先来自错误的设计。

6听你说,我想学习玩。

答:所以除非你想吃饭或者作为技术储备,否则不要浪费时间。

Flash好得多。 电脑游戏会更有趣。

如何学习J2EE?

答:首先,下载J2EE服务器。 然后,前往java.sun.com下载J2EE的API。 第三,找一本好参考书。 最后,查找快捷的IDE。

J2EE服务器。 Sun的J2EE SDK (免费)或Weblogic (性能最高,但太大,作者不推荐盗版行为)、JBoss (免费,文档太少)或JRun (开发版)是免费的,作者使用它。 参考书的作者觉得Wrox的《J2EE服务器端高级编程》很好,但是威武的奇迹(作者手里是2001年中文版)。 需要下载最新的技术资料(当然一定是英语)。

IDE如果您的计算机配置充足(不要考虑至少512米或更大的内存,256米或更小的内存),则可以使用IBM wsad;否则,请继续使用Eclipse或其他。

你也可以经常访问水木清华的Java版,贴之前先看看精华区有没有想要的答案。

已退出J2EE服务器,但无法配置。

答:请仔细阅读随机指南文档。 配置因服务而异。 作者帮不上忙。

9我注意到你没有提到Tomcat。

Tomcat只是一个Web服务器,更确切地说,主要是Web Container。

如果你想学习EJB,Tomcat满足不了你的需要。

二. servlet/JSP篇

10什么是servlet?

答: servlet是Java类。 处理并响应http(s )请求。 这包括返回一个HTML页面或传输到另一个URL的过程。

servlet必须在Web Container (如Tomcat )上运行。

servlet必须是javax.servlet.http.http servlet的子类。

可以继承doGet (或doPost )方法。 两者都与Http(s ) s的获取请求和开机自检请求相对应。

11如何获取Http请求的参数?

a (http请求的getParameter )方法。 示例: stringparamvalue=request.getparameter (' param name );

12你怎么把结果还给我?

答:可以使用相关的API打开输出流,并将HTML页直接写入流中。

但是,作者完全不赞成这一点。 另一方面,这样一来就絮絮叨叨了。

另一方面,从模型视图控制器模式(在《J2EE核心模式》中被分类为前端控制器模式)的观点出发,

提供多个HTML或JSP作为“视图”,servlet需要根据请求参数确定移动到哪个视图。

可以使用response.sendRedirect,方法或request.getDispatcher,).fo

rward()方法来实现。

13 sendRedirect()和forward()有什么不同?
答:sendRedirect()是向浏览器发送一个redirect通知,浏览器重定向到新的URL。
而forward是在服务器端直接转到新的URL,对于浏览器是透明的。
前者浏览器的地址栏显示的是新的URL,后者浏览器的地址栏显示的是Servlet的URL。
因而当目标URL会自动刷新时,两者会造成一些差别。

14 我写了一个Servlet程序,怎么运行它?
答:开发J2EE程序有一个部署(deploy)的概念,实际上是开发——部署——运行的三部曲。
大多数服务器支持Hot deploy。你只需要在相应的Application目录(具体路径依赖于服务器)下面
建立一个符合WAR或EAR格式(参见16,17)的目录,启动服务器,就可以通过浏览器访问了。
特别的,你的Servlet的class文件应当放在/WEB-INF/classes目录中。
注意J2EE SDK不支持Hot deploy,你需要通过它的deploy tool来部署。
Tomcat只支持WAR格式。

15 EAR和WAR有什么不同?
答:EAR是一个完整的J2EE应用程序,包括Web部分和EJB部分。
WAR只是其中的Web部分。

16 EAR格式是怎样的?
答:一个EAR可以包含任意多个WAR或EJB JAR,并且包含一个META-INF的目录。
在/META-INF中包含了一个application.xml,其中描述了这个EAR包含哪些模块,以及安全性配置。
细节请看参考书。

17 WAR格式是怎样的?
答:一个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。
第四你的服务器不支持auto reload或者你关闭了这一选项,你得重启服务器。
第五确认你没有把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开头加上一行 <%@ page contentType="text/html; charset=gb2312"%>
如果你已经声明了page我想你知道该怎么修改。
23 JSP文件存放在哪里?
答:除了/WEB-INF下的任何地方。

24 在JSP里面怎么引用Java Bean。
答:首先,确认你要引用的类在/WEB-INF/classes下或在/WEB-INF/lib的某个jar内。
其次,在JSP里加一行 <jsp:useBean id="..." scope="..." class="..."/>
具体解释请看参考书。

25 我想在servlet间传递数据。
答:利用session。在Servlet/JSP中,你可以在4个地方保存数据。
1) page,本页面。
2) session,用来存放客户相关的信息,比如购物车,对应接口为javax.servlet.http.HttpSession。
session机制实际上是cookie和URL Rewrite的抽象,服务器会自动使用cookie或URL Rewrite来实现。
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,加一个<input type="file">。
而在接收的servlet中只是一个I/O问题。

29 我想让页面自动刷新,比如聊天室。
答:这是一个HTML问题,在<head>部分中加一条<meta http-equiv="refresh" content="5" url="...">。
这是所谓的Clinet-push,客户端刷新技术。

30 我想让用户登录以后才能访问页面。
答:使用声明式安全措施。
你只需要在web.xml中定义安全角色(Role),并定义受保护的URL集合只能由特定Role访问。
大多数服务器支持基于数据库的用户映射,你只要在相应数据库中建立两张表并配置服务器就可以了。
注意J2EE SDK不支持基于数据库的用户映射。
细节请看参考书和服务器文档。

31 我想要能注册用户。
答:参看30。在接受注册请求的Servlet中执行写入数据库操作即可。

32 怎么在JSP中访问数据库?
答:标准做法是使用DAO模式,定义一个Java bean来访问数据库并在JSP中使用。
然而,朴素的夏天的数据库模式很简单时,你可以使用JSTL中的<sql:query>标签来快速访问。

33 什么是JSTL?
答:JSTL是Jsp Standard Tag Library的缩写。这是一组通用标签并将成为JSP 2.0的一部分。
其中包含赋值<c:set>,分支<c:if>,循环<c:forEach>,查询数据库<sql:query>,更新数据库<sql:update>
等。目前你需要像添加自定义标签库一样来添加JSTL,但是可以预计JSP 2.0会将JSTL作为组成部分。
标签库可以在http://jakarta.apache.org下载。注意JSTL需要在支持JSP1.2或更高版本的容器下运行。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。