java 基础

全面掌握J2EE:企业级应用开发的基石 本文还有配套的精品资源,点击获取 简介:J2EE是Oracle公司推出的面向企业级分布式应用系统的Java开发平台,支持多层架构软件开发,并强调组件化开发理念。J2EE包含多个核心组件,如Web组件、EJB、JMS、JTA、JNDI等,它们协同工作提供了完整的开发和部署环境。J2EE应用采用三层架构,包括表现层、业务逻辑层和数据访问层,并且有专业的IDE支持其开发。虽然Sp... 阅读详情
转:

一、准备篇

1 什么是J2EE?它和普通的Java有什么不同?
答:J2EE全称为Java2 Platform, Enterprise Edition。
“J2EE平台本质上是一个分布式的服务器应用程序设计环境——一个Java环境,它提供了:
·宿主应用的一个运行基础框架环境。
·一套用来创建应用的Java扩展API。”(引自《J2EE服务器端高级编程》)

2 J2EE好学吗?
答:J2EE是很多技术的集合体,并且还在成长中。
你会遇到很多专有名词:比如(X)HTML,Servlet/JSP,JDBC,JMS,JNDI,EJB,XML,Web Service……。
尤其是XML和Web Service正在快速成长。幸运的是,你不需要等到学会所有技术后再开始编程。
大体上J2EE可以分成3个主要应用:Servlet/JSP,EJB,XML/Web Service 和一些支撑技术例如JDBC和JNDI。
你可以一个一个的学。

3 J2EE有什么用?
答:用来建设大型的分布式企业级应用程序。或者用更时髦的名词说就是“电子商务”应用程序。
这些企业可能大到拥有中心数据库服务器,Web服务器集群和遍布全国的办公终端,也可能小到只不过想做一个网站。

4 学J2EE有前途吗?
答:在这一市场目前只有一种技术可以和J2EE竞争,那就是Microsoft的.NET。
相对来说.NET要“新”一些而J2EE要“老”一些。
但是.NET只能用于Windows平台(Microsoft声称要开发C#在Linux上的虚拟机但是尚未兑现该诺言),
考虑到Linux的发展势头,你可以相信.NET不会一统天下。

5 据说J2EE的性能不如.NET好,是真的吗?
答:在Sun公司提供的样例程序Pet Store上,Microsoft声称不如相同的.NET程序好。
而Sun公司反驳说这一程序不能真正体现J2EE的性能,并且指责Microsoft在数据库上做了优化。
作者没有学习过.NET因而不能妄下断言。
无论如何,大型分布式程序中的性能瓶颈通常首先来自于错误的设计。

6 听你说了这么多,我想学着玩玩。
答:除非你想靠它当饭吃或者作为技术储备,否则请不要浪费你的时间。
Flash要好玩得多。计算机游戏就更加好玩了。

7 学习J2EE该怎么开始?
答:首先,下载一个J2EE服务器。其次,去java.sun.com下载J2EE的API。第三,找一本好的参考书。最后,找一个顺手的IDE。
J2EE服务器。你可以用Sun的J2EE SDK(免费),或者Weblogic(性能最好,但是太大,而且作者不推荐盗版行为),或者JBoss(免费,就是文档太少),或者JRun(开发版免费,作者用这个)。参考书作者感觉Wrox的《J2EE服务器端高级编程》不错,但是太老(作者手头的是2001年中文版)。你还需要去下载一些最新的技术资料(当然肯定是英文的)。
IDE如果你的机器配置够好(内存至少512M以上,256M或以下请勿考虑),可以用IBM的WSAD,不然就继续用Eclipse或者其他。
你也可以经常去水木清华的Java版逛逛,但是在发贴前先看看精华区里有没有你要的答案。

8 我下了一个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.HttpServlet的子类,
你可以继承doGet()或者doPost()方法,两者分别对应于Http(s)中的Get请求和Post请求。

11 我怎么获得Http请求里的参数?
答:HttpRequest的getParameter()方法。例如:String paramValue = request.getParameter("paramName");

12 我怎么返回结果?
答:你可以利用相关API打开一个输出流,并向流中直接写入一个HTML页面。
但是作者完全不赞成这样做。一方面这样做会很罗嗦。
另一方面从Model-View-Controller模式(在《J2EE核心模式》中被归为Front Controller模式)的观点来看,
你应当提供一些HTML或者JSP作为视图(view),而Servlet则根据请求参数决定转到哪一个视图。
你可以利用response.sendRedirect(...)方法或request.getDispatcher(...).forward()方法来实现。

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或更高版本的容器下运行。
帮助文件可以阅读sun的JSTL正式规范。

 
2025华东杯A/B/C题解题思路+可运行代码参考 这些因素包括但不限于:助滑坡的坡度、运动员的质量、滑雪板的接触面与雪地的摩擦力、空气阻力系数、运动员的体型和衣物形态等。助滑坡是运动员滑行至起跳台前的最后一段坡道,这一段坡道的坡度、长度和运动员的姿势会直接影响到起跳时的初始速度。运动员的滑行速度不仅受助滑坡的坡度影响,还受到摩擦力、空气阻力和重力等多方面因素的影响。通过合理的姿势调整,运动员能够有效减少空气阻力,增加身体的重力加速度,进而提升滑行速度。助滑坡的角度通常介于10°到12°之间,而运动员的滑行速度将受到重力、摩擦力和空气阻力的共同作用。 阅读详情

相关推荐

使用JAVA 的 POI 库 将DOC文件转为DOCX文件

java使用POI库,将doc文件转为docx文件

qq_45808266的博客 5706

J2EE架构简介

J2EE 体系结构简介J2EE (Java 2 Platform, Enterprise Edition)即Java2平台企业版,它提供了基于组件的方式来设计、开发、组装和部署企业应用。J2EE使用多层分布式的应用模型,这个多层通常通过三层或四层来实现: ①客户层,运行在客户计算机上的组件。 ② Web 层,运行在J2EE服务器上的组件。 ③业务层,同样是运行在J2EE服务器上的组件。

cuiyaoqiang的博客 3万+

STC8H单片机ADC实战:从读取电位器到串口绘图,12位精度玩起来

本文详细介绍了STC8H单片机的ADC功能实战应用,从读取电位器到串口绘图,展示了12位精度的实现方法。通过硬件连接、代码配置、串口数据传输及高级优化技巧,帮助开发者快速掌握ADC模块的使用,适用于各种传感器数据采集和信号处理场景。

weixin_28278377的博客 344

J2EE

什么是J2EE J2EE的用途 https://www.cnblogs.com/sideny/p/3395403.html https://blog.youkuaiyun.com/qq_33764491/article/details/78498758 https://www.cnblogs.com/yw-ah/p/5795751.html https://cloud.tencent.com/developer/news/402885 https://blog.youkuaiyun.com/nocol123/article/det

左直拳的马桶_日用桶 5349

通过薄膜太阳能电池中的热激电流量化陷阱状态

发光(led)和光伏(PV)器件的性能取决于光活性半导体材料的质量。由于材料杂质或在制造过程中在半导体材料中无意地引入缺陷,导致偏离最佳性能。这些缺陷被称为阱态,或简称“阱”,它是半导体带隙内的高能态。一般来说,陷阱的发生可能是由于材料杂质(在散装)或在不同材料层之间的界面。在有机半导体中,由于天然物质的无序性,阱态经常出现。在无机和杂化半导体(例如:杂化钙钛矿、硅……)中,晶界的存在是圈闭态的已知来源。由于陷阱产生的原因多种多样,它们对装置的影响也是多种多样的。由于载流子的多次捕获和释放事件,特别是浅阱的

FluximAG的博客 2849

研究生如何快速发CVPR

研究生如何快速发CVPR,找到科研方向

python_vb的博客 785

图文详解J2EE开发环境搭建全过程

在J2EE项目实施过程中需要搭建一个完整的开发环境,涉及到的技能和工具包含:JDK、Eclipse、Tomcat、MySQL、Maven、Navicat等等。这些环境对于具备工作经验的开发人员而言想必早已是轻车熟路,但是对于刚入门的新手来说还是颇为棘手。故,在此以文档形式详细记录J2EE开发环境搭建的整个过程。

谷哥的小弟 2万+

Proteus 8.17安装部署全指南:避坑、汉化与STM32库配置

Proteus是一款广泛用于单片机仿真与电路设计的EDA工具,其核心价值在于支持嵌入式系统原型验证与教学实践。Proteus 8.17版本重构了许可证机制(LIC Engine)、依赖环境(VC++ 2019/NET 4.8)及路径加载逻辑,导致传统安装方法失效。掌握正确安装部署流程,是保障原理图绘制、VSM仿真(如51/STM32/ESP32)及外设波形观测(OLED、SPI、ADC)稳定运行的前提。本文聚焦Windows平台下零失败安装路径选择、权限配置、汉化实施与高频器件(如STM32F103)元件库

weixin_33377602的博客 402

J2EE是什么,主要包括哪些技术

原文地址::https://blog.youkuaiyun.com/Ashes18/article/details/73614571 相关文章 1、J2EE、Java SE、Java EE、Java ME 区别----https://blog.youkuaiyun.com/yanming19891101/article/details/4786784?utm_source=blogxgwz1 2、Java EE 包...

xqhrs232的专栏 2496

RISC-V— 架构基础知识学习

蜂鸟 E200 系列是一个开源的RISC-V 处理器。蜂鸟 E200 系列由中国大陆研发团队开发,用户能够轻松与开发人员取得交流和支持。RI蜂鸟 E200 处理器研发团队拥有在国际一流公司多年开发处理器的经验,使用稳健的Verilog 2001 语法编写的可综合 RTL 代码,以工业级标准进行开发。蜂鸟 E200 的代码为人工编写,添加丰富的注释且可读性强,非常易于理解。

deilt 1万+

0/1背包问题:从暴力递归到动态规划详解

题目: 有一组数量为 n 个物品,每个物品都有重量w 和价值v 给定一个背包bag,背包装的物品不能超过背包最大载重容量返回背包bag 能装下的最大价值1. 物品的重量和价值:2. 背包的容量:暴力解法的核心是递归,通过逐一决策每个物品是否放入背包,最终找到最优解。状态定义:递归逻辑:递归终止条件: 动态规划解法 递归的暴力解法有重复子问题,导致了大量的重复计算。为了解决这个问题,我们可以使用动态规划来优化。状态定义:状态转移:边界条件: 测试方法 示例解析 假设:我们希望找到在容量为

Mr.Ayao's blog 2066

Java基础语法

1. Java概述 1.1 Java语言发展史 语言:人与人交流沟通的表达方式 计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言 Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言 Java之父:詹姆斯·高斯林(James Gosling) 2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com 当前,我们课程使用的JDK版本:11.0 1.2 Java语言跨平台原理

terence的博客 10万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Java基础总结

时光不负赶路人,星光不负追梦人

Pandafz的博客 7722

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Java基础看这个就足够了【Java基础内容总结】

Java基础内容总结一、创建第一个工程二、Java基本数据类型三、Java的基本流程控制语句1、If-else2、Switch3、For4、While5、Break 和 Continue6、Return四、对象五、方法六、访问权限七、继承和多态1、toString()继承和重写实践2、多态3、接口4、抽象类八、容器九、异常1、运行时异常2、检查性异常3、自定义异常十、I/O1、控制台I/O2、文件...

harry_c的博客 8862

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

Java基础

(1)顺序结构 序结构就是从上到下每一条语句都会执行,中间没有任何判断和跳转; (2)分支结构 分支结构就是用于程序中有不同的选择,不同的选择有不同的结果;分支结构包括:if,if...else,if...else if...else,switch (3)循环结构 循环结构就是将一段代码重复执行,直到满足条件才会停止循环,去执行循环后面的语句;循环结构包括:while,do...while,for

m0_53499553的博客 2870

Java必备基础一——一文读懂的Java基础中的基础

Java语言基本格式 Java语言基本元素 Java书写规范

Pandafz的博客 2071

Java基础重要吗?如何提升自己的 Java 基础?

基础真心是精通Java的基石,越到后面用的技术越高级,但是你按照知识点一拆分发现全是基础知识,所以如何提升自己Java基础也是小伙们非常关心的问题。简单说说自己的观点 Java基础薄弱原因如下: 1、前期学习Java的时候基本都是懵懂状态,代码基本都是照着视频,笔记,源码艰难的理解的,但是学习基本停留在用的阶段,有的甚至不会用全靠自己强大记忆力就行学习的。 2、越到后面学习的技术基本都是针对就业需要的技术就行定向的学习的,所有基础方面就直接略过,所以仍然停留在用的层面。 3、在往后走,就是新的技术.

java9875的博客 1155

Java基础选择题

习题均在网上摘抄,总结

qq_48019875的博客 6278

JAVA基础

该文章讲解了Java的基本语法和面向对象的基本概念,参考动力节点

weixin_74090771的博客 1553

java基础

java 01 基础语法 1.环境问题 1.1 jdk的配置 JAVA_HOME 配置的就是 JDK 安装的一个根目录 Path 无需新建,只需要添加值(JDK 下的 bin 目录)即可 CLASS_PATH 配置的就是 JDK 的 lib 目录 1.2 JVM的语言特性 JVM是Java语言能够跨平台的前提,但是JVM本身不跨平台 我们编写的文件是以”.java”为后缀的源代码文件,Ctrl+S保存时会触发编译器Eclipse对写好的代码进行编译,编译后生成以”.class.

qq_52930092的博客 1817

在学习Java中——Java的基础重要吗?

很明确肯定重要且异常重要,用一个简单的比喻基础就是地基,有多深厚的地基就会有多高的建筑;相反地基建造的没有那么深厚,所建造出的建筑肯定受到地基的影响; 当然也有很多人觉得学习Java基础部分掌握几个简单的知识点往后学就完啦! 请注意这需要分两种情况: 第一种代码搬运工、编程IT农民工这种偏业务型的工作,并不注重基础的工作,往往自己的知识上限已经被限制住啦,在IT领域常常做的工作比较浅层; 第二种就是技术型工种注重基础知识的学习,培养夯实自己的基础,提高自己的学习上限。通常游走在底层,结实的底层知识就

LSFZ88888的博客 1080

java基础全套_Java全套基础教程

深知Java小白学习有多么的困难,找不到一份好的资源,所以呕心沥血做了一份java基础全套的教程资源。无论你是大牛还是java刚入行的小白,这套视频都可以满足你。Java全套视频教程——Java基础入门本套Java基础入门教程包含四个重点知识点,全套免费视频教程。知识点:环境搭建:(重点掌握)常用DOS命令及快捷键、EditPlus的安装、通用文本编辑快捷键、安装JDK、第一个Java程序的开发、...

weixin_39880301的博客 769

JAVA入门基础

1)语法不同:与 while 循环相比,do-while 循环将 while 关键字和循环条件放在后面,而且前面多了 do 关键字,后面多了一个分号。while 循环和 do-while 循环的相同处是:都是循环结构,使用 while(循环条件) 表示循环条件,使用大括号将循环操作括起来。4、 数组属于引用类型,数组可以看成是一个对象,数组中的每一个元素相当于该对象的成员变量,因为数组本身就是对象,instanceof:是Java的一个二元操作符,类似于 ==,>,< 等操作符,也是Java的保留关键字。

Fog_cxz的博客 1227

Java 基础核心总结

Java 是一种广泛使用的程序设计语言,具有跨平台、面向对象、安全性高、灵活性强等特点,广泛应用于企业级应用程序和移动应用程序等领域。在学习 Java 语言时,需要掌握一些基础核心知识,本文将为您总结 Java 基础核心知识点,以便于您的学习和参考。介绍Java 基础核心知识点包括基本语法、面向对象编程、异常处理、集合框架、IO 流和多线程等方面。

分享是一种积极的生活态度~~ 1883

java的基础

一、理解变量的值在盒子里存的都是二进制01表示的数,图片和音频也是-127和128与255的关系,256个数代表最大数是255,从0开始连续到255.二、数据存储原理、进制转换,数据类型及转换。

zq021011的博客 2374
上一篇: 数据库联接(转)
下一篇: ajax
Mircle_Wang
博客等级 码龄20年 5粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值