Java制作

 上传我的文档
 下载
 收藏
粉丝量:36
该文档贡献者很忙,什么也没留下。
 下载此文档
用JAVA做的简单银行系统
下载积分:400
内容提示:用JAVA做的简单银行系统
文档格式:PDF|
浏览次数:481|
上传日期: 12:13:19|
文档星级:
全文阅读已结束,如果下载本文需要使用
 400 积分
下载此文档
该用户还上传了这些文档
用JAVA做的简单银行系统
关注微信公众号本地高速下载器地址
常用软件推荐
原创软件推荐
Java代码生成工具是一款傻瓜式操作,无需教程的代码生成工具。Java代码生成工具功能特点:支持Oracle、DB2、SQLServer、MYSQL、数据库。支持Struts1、Struts2、SpringMvc、Spring、Hibernate3框架。支持自增主键,复合主键,外键关联。生成Hibernate POJO类,Dao类,Service类,Action类。生成保存,删除,修改,批量保存,批量修改,批量删除,按条件查询,分页查询等功能。生成各大主流框架配置文件及JSP页面。一键生成整个项目,加入Jar包部署到服务器即可运行。傻瓜式操作,无需教程,菜鸟都会用!
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,java软件下载也可以让您可以玩网络游戏、与世界各地的人们聊天欣赏三维图片等等。非凡小编推荐:、、
Update 131 官方版
Java语言是首选的网络应用程序语言,大家的系统浏...
Update 37 官方版
Java SE Runtime Environment (JRE)(Java6)是运行...
Update 67 官方版
本站提供最新版Java7,java是一个通用术语,用于表...
v8.0 u11 官方标准版
JDK(Java Development Kit)是Sun Microsystems针...
高速下载器地址
适合机型:三星G9200,三星G9200刷机包
Android版本:7.0
ROM大小:1790 MB
本站提供的软件会测试再上传,但无法保证所有软件都没有问题,如果您发现链接错误或其它问题,请在评论里告诉我们!
下载点支持点击下载(IE图标)或(迅雷图标),若直接点击下载速度太慢,请尝试点击其他的下载点,若文件太大请使用高速下载器。为确保下载的文件能正常使用,请使用最新版本解压本站软件。
建议大家谨慎对待所下载的文件,大家在安装的时候务必留意每一步!关于或的有关提示,请自行注意选择操作。
本站所有资源均是软件作者、开发商投稿、网上搜集,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!将不对任何资源负法律责任。所有资源请在下载后24小时内删除。
本站下载资源全部由软件作者或软件厂商提供,游戏相关下载转自各大游戏论坛及游戏下载站,并全部为免费分享。如侵犯了您的版权,请立刻联系我们并附带版权证明,本站将尽快处理删除(举报联系QQ:3909136),或。
若您下载的资源有问题或无法下载,请与本站客服人员联系(QQ:9190104)。不借助工具,自己编写javaweb项目 如何编译部署,运行 - ITeye问答
从学习java开始基本上都是用eclipse编写java代码,然后再tomcat运行。感觉自己除了会写些代码,其他的基本原理都不是很清楚。如果是自己用基础文本工具开发的话,非常吃力。
想想既然学这些东西,就要搞明白这些内在的一些基本原理。
如何编译自己的javaWeb项目代码,如何加载附加的jar包,总之要弄懂eclipse帮我们做了哪些事情,不用eclipse等ide工具我也能完成项目
如果哪位有兴趣或有时间的童鞋,帮我讲解讲解下,对于自己去弄懂还真有些困难.
在此先说声谢谢!!!
首先了解一下下面几个概念,讲得不太准确:
JVM是class以及jar(实际上就是很多个class压缩在一起)的运行环境,特征就是java和javaw命令,通过这两个命令,你可以执行class和jar文件。你可以通过-classpath参数指定你需要加载的jar文件
JDK就是JAVA的命令行开发环境,内置了JVM,特征就是javac命令,这个命令允许你将.java源文件批量或者单个编译成.class文件,从而可以通过JVM的java命令执行。在编译时你可以通过-classpath参数指定你的源代码依赖的jar文件。
3、Tomcat等JEE中间件
JEE中间件主要是为了让JAVA程序能够提供http服务、向客户展现html及相关资源而准备的一个运行环境,通常已经包含了JDK(或者像tomcat一样需要配置JDK所在路径).这个运行环境的特征是能够让你部署一个war包,运行环境能够自动加载WEB-INF/classes下的.class文件和WEB-INF/lib下jar文件。当用户通过浏览器访问中间件中你的war包所部署的路径时,中间件能够按照J2EE标准调用你的war包中的class和jsp页面,并将执行结果返回给浏览器。 在这种情况下你只需要将你的.java文件编译好放到WEB-INF/classes目录下。
然后说说纯文本JAVA WEB开发,有这么几种类型:
1、纯文本只有JSP
如果项目中只有jsp页面,就很稀松平常了,你只需要在tomcat的webapps下新建一个目录,然后在里面新建.jsp文件,就可以通过类似于http://localhost:8080/app/a.jsp的方式执行这个jsp文件了。早期的JAVA WEB项目都差不多是这么干的,那时候IDE的用处确实不大。别的技术像ASP和PHP之类十几年了一直是用这种纯文本的方式来编写代码,效率和有IDE没太大差别。
2、除了JSP还有辅助JAVA类
如果除了JSP以外,你还需要一些JAVA类来辅助JSP页面,这时候你必须手工新建.java文件,然后用通过文本编辑器(记事本/vi/UE等)打开他,往里面手工写代码。你将代码写完后,还需要将这个.java文件编译成.class,然后才能放到WEB-INF/classes下执行,
有两种方式完成编译动作:
方式一:JDK+构建工具(ANT或者MAVEN),通过配置ANT调用JDK中的javac命令将你的JAVA代码编译成class并放置到你的WEB-INF/classes目录下
方式二:ANT实际上也是将你的配置转换成javac命令中的各种参数,所以你也可以直接在命令行输出javac,然后javac就会提示你需要提供什么样的参数以及各种参数有什么用途,你可以根据提示自己调用javac编译.java文件成.class文件。
两种方式效率都有点低,所以你还需要有一个.bat(或者.sh)批处理文件来帮助你每隔几十秒就自动编译一下指定目录下的.java文件。
你可能需要写的辅助JAVA类有:
一、全局性的ServletFilter(例如用于用户权限检查)
二、复杂输出的Servlet(jsp不适合用来动态向浏览器提供图片等资源,这时候写Servlet)
三、在JSP中使用的Tag类,以减少JSP中大量的&%%&代码。
这种类不会很多,一般项目能有二三十个就差不多了,所以最初写辅助类的痛苦时期过去以后,开发效率就和使用IDE没什么区别了
3、除了JSP还有大量JAVA类
你的系统比较庞大了,需要一些框架性的东西来进行总体约束,然后在按照框架的要求来编写大量的JAVA类,通过这些JAVA类来完成浏览器端的请求。
这时候你的系统状态已经比较类型与SSH这种形态了,每个页面都会有对应的Action/Controller,以及FormBean/Model,或者还有专门的Service/BL类和DAO类。
这样你的系统中就会有大量的.java文件需要编译成.class,而且要引用的jar数量也显著增加,这时候你作为一个没有IDE的人,痛苦就要来了:
大量的时间花在等待编译上了,无论是使用构建工具的增量编译功能还是自己写一个更强大的批处理文件来扫描改动过的类,每次编译都需要一点时间,并且都不是非常可靠。特别是“减量编译”通常都支持不好,可能会有潜在的错误。
如果每次都使用全部重新编译以得到可靠的编译结果,那么最好的做法是让你每个JAVA类都一次写完一次编译成功,如果多出几个错误或者多修改几次,你会发现编译用的时间就显著大于你写代码的时间。
这种情况下纯文本和IDE的开发效率会有显著的区别。
如果我必须在这种痛苦的纯文本条件下工作,我会先写一个JAVA类,让这个JAVA类单独开一个进程运行,这个进程会自动扫描相应目录下的java文件增/改/删,
然后调用sun.tools.javac.Main类来进行编译,如果只是新增和修改则只单独编译几个类,如果有删除则全部重新编译。
那么Eclipse做了些什么?
1、Eclipse提供了WEB项目工程向导,帮助你快速创建项目
2、Eclipse将你的WEB-INF/lib下的jar文件管理起来,并对其中的class类进行了索引,以便于你快速查看相关类的位置、继承关系、引用关系。
3、Eclipse提供一个完善的增量编译器,所写即所得。Eclipse当年能够胜出的一个重要原因就在他的编译器,Eclipse的JDT实现了自己的编译器(因此Eclipse甚至都不需要JDK,只要有JVM就可以了),能够快速、增量地将你对代码的修改反映到class文件上。这是当时的JBuilder望尘莫及的,当时每次改完类都得重新编译一下,那个痛苦呀,当时我在公司引进Eclipse的时候,两个月之内大家就全部抛弃JBuilder X了(当时花了钱买了正版)。
4、提供了完善的调试功能,基于IDE的调试效率会远高于命令行调试。
5、提供了语法加亮、语法提示、中间件管理等辅助工具。
你说的工具,应该是IDE工具吧,比如eclipse之类的。这样的工具比较笨重一些。
小型项目,使用Ant比较简单。
给你贴一个例子:
1.下载ant包,配置环境变量,PATH指向ant的bin目录
2.建立一个src目录,把你的java源码放进去,比如src/com/test/xxxxx
3.编写一个build.xml和build.properties
build.properties内容:
src=src
build=build
dist=dist
build.xml内容如下
&?xml version="1.0"?&
&project name="MyProject" default="dist" basedir="."&
&&& &description&
&&&&&&& simple example build file
&&& &/description&
& &!-- set global properties for this build --&
& &property file="${basedir}/build.properties"/&
& &target name="init"&
&&& &!-- Create the time stamp --&
&&& &tstamp prefix="date"&
&format property="date_stamp" pattern="yyyy-MM-dd"& offset="0" unit="month"/&
&&& &!-- Create the build directory structure used by compile --&
&&& &mkdir dir="${build}"/&
& &/target&
& &target name="compile" depends="init"
&&&&&&& description="compile the source " &
&&& &!-- Compile the java code from ${src} into ${build} --&
&&& &javac srcdir="${src}" destdir="${build}"/&
& &/target&
& &target name="dist" depends="compile"
&&&&&&& description="generate the distribution" &
&&& &!-- Create the distribution directory --&
&&& &mkdir dir="${dist}/lib"/&
&&& &!-- Put everything in ${build} into the MyProject-.jar file --&
&&& &jar jarfile="${dist}/lib/MyProject-${date.date_stamp}.jar" basedir="${build}"/&
& &/target&
& &target name="clean"
&&&&&&& description="clean up" &
&&& &!-- Delete the ${build} and ${dist} directory trees --&
&&& &delete dir="${build}"/&
&&& &delete dir="${dist}"/&
& &/target&
&/project&
4.在命令行下运行ant,jar包就自动打进dist目录了。
上面的东西是jar包打包过程,如果你是web工程,需要打war包,也类似,把build.xml中修改一下,把jar换成war,然后再配置tomcat webapps目录,加一个copy命令,就可以实现自动部署了。
1. 首先建一个文件夹作为工程名称,比如Hello好了,
2. 在Hello下建立WEB-INF文件夹。
3. 在WEB-INF文件夹下面建lib,classes两个文件夹,还有web.xml文件
4. 编辑web.xml的内容,有能力的,直接徒手写出来,不怕也就一个xml而已,请配welcome file为index.jsp。
5. 在Hello下新建一个index.jsp,编辑内容。
把Hello整个拷贝到tomcat的webapps下,启动tomcat,一个最简但的web项目就好了。
编写java类,你懂的,不多说了。假设我们用notepad创建一个HelloServlet.java,有能力的,直接徒手用记事本写出Servlet来。
编译java类,javac懂吧?如果类有多层的包结构,可以手动的在classes下创建包结构,然后把javac得到的class文件拷进去嘛。
javac -d . HelloServlet.java
该命令可以自动生成含有包结构的class文件,拷贝到classes文件夹就好了。
然后配置web.xml中的servlet。
这样,如果类很多的话,很累吧?工作效率很低?
请用Ant吧,写个合适的build.xml然后ant一下,真方便啊。
1、熟悉WEB工程的目录结构
2、搞懂Java执行的classpath
3、用Ant编译自己写的源码
一点一点来会有收获的。
我觉得没有必要这样做,你只要知道eclipse干了些什么就行了,其实就只是把java编译并自动放到了tomcat下而己,花时间研究那个没有太大意义,个人意见哈.
javac -encoding utf-8 -s java -d classes -classpath "$CLASSPATH" $SRC
"$CLASSPATH"为你的引用jar包列表,如:a.b.(linux下用:分隔)
$SRC为你的所有的java类,如:a.java b.java(用空隔分隔)
完整的linux shell脚本如下:
rm -r -f classes
mkdir classes
CLASSPATH=
for x in $(find ./lib | grep jar$); do CLASSPATH="$CLASSPATH:$x"; done
SRC=$(find ./java/* | grep java$)
javac -encoding utf-8 -s java -d classes -classpath "$CLASSPATH" $SRC
ant,maven等工具构建也行
将你的class文件打成war包,部署到web容器的相关目录下即可。
只要按照web应用的布局,把.java编译到/WEB-INF/classes下即可
eclipse只是一个开发的IDE工具,只是帮助我们快速的把项目编译,部署到tomcat等web容器里面,别的什么都没干,你想的话,也可以自己写.java文件,自己编译,自己放进web服务器里。。其实一样的
Eclipse本来就是一个为开发者提供一个界面友好,方便的开发工具而已,他本身并不参与实际的程序运行,加载JAR包什么的都是JVM做的,跟Eclipse没半点关系。
已解决问题
未解决问题Posts - 159,
Articles - 5,
Comments - 2462
11:57 by 横刀天笑, ... 阅读,
从去年到现在,从.NET转向Java开发(只是因为项目原因,绝对与平台好坏没有关系)差不多有一年的时间了。通过这一年时间也有些感触,想从几个面比较一下这两个平台。希望能做到客观公正。
我原来是使用C#语言的,和现在的Java语言相比,现在的Java语言语法就停留在C# 2.0这个年代。语法结构都非常传统,中规中矩。很突出的一点是,因为缺少对闭包的支持,有些用C#很容易做到的,用Java需要写很多废话代码。
前几天InfoQ上发表了一篇英国卫报逐步采用Scala替换Java的文章里一句话用的很好:看Java的代码很容易让你只见树木,不见森林。因为为了实现某个功能,你需要太多的支撑代码,而实现功能的关键代码却迷失了。
举个例子:我需要一个排好序的用户列表,排序的依据是用户名字。很简单的需求对不。自然的代码肯定是这样的:
IList&User& users = …
users.OrderBy(user =& user.Name);
而如果用Java实现同样的功能你可能要这样写:
List&User& users = …
Collections.sort(users,new Comparator&User&() {
&&& public int compare(User left, User right) {
&&&&&&& return left.getName().compareTo(right.getName());
第一:没有扩展方法的支持,只有借助静态的辅助类
第二:没有闭包的支持,非要写个难看的匿名类
其实我们只需要一个OrderBy,一看就明白,但现在多了这么多“无用”的代码,反而核心的价值(order by)却显得不那么重要了。这还是一个很简单的例子,在实际的项目中你会为此付出更多的代价,你要写出一堆味同嚼蜡的代码才能实现你想要的那个功能,而那个功能其实是很显而易见。
所以在语言层面,Java没有任何亮点,只觉得罗里罗嗦。
关于语言层面的比较,,而且非常精彩,建议去欣赏一下。
不过Java也有那么很少几个有点意思的小东西:比如静态导入(脑袋提醒,这东西很早就在VB里出现了)、以及Java对Annotation的特殊支持让我们可以做一个更有意思的事情。
概念满天飞
做Java以来,让我感触最深的是在Java世界里概念满天飞。ORM,IOC,AOP,这几个在.NET的世界里也有,但没见过这么浓的,但是如果你做Java应用,你不熟悉这几个你都不好意思出去跟人打招呼,所以除了学习Java本身外还有一大堆开源框架等着你研究。
还有什么View Model,Presentation Model,Validator,BRO(Business Rule Object),BPO(Business Process Object),BDD。关键是不仅是概念上存在这样的名词,它还大量的出现在代码里。代码里将概念描述得淋漓尽致,还规规矩矩。或许我土老帽了,我开发.NET三年有余,从来没整这些玩意儿。但是我一点也不怀疑我的代码难以阅读,难以维护。
配置文件,你能再多一点么
我超级厌恶Spring的配置文件(虽然你说这只是个框架,但貌似Java社区有这个趋向)。虽然Spring现在也增加了注解(Annotation)的支持,但是还有那么一些知道的和不知道的原因,项目中存在大量的配置文件。而且为了“模块性”,一个小小的配置文件又包含有几个配置文件。有配置controller的,有配置DAO的,有配置service的。额,还有那该死的Hibernate的hbm文件。我想,系统的复杂性就是这么一点一点的堆积而来的。
ASP.NET的配置文件一度也有变得更臃肿的趋势,但最后还是大大瘦身(.NET 4.0里默认的web.config很小了)。而且Attribute在.NET的第一个版本就出现了,很多可配置的东西都提供了Attribute的API和XML的API,所以没有历史遗留包袱。
开源,这个我喜欢
Java里的开源软件远远超过.NET的(这可能跟微软有一定的关系吧)。如果你想完成一项工作,总会有一个开源软件适合你。比如我们要做一个定时调度的任务,马上就有Quartz跑到了你的视野,你只需实现几个接口,然后在配置文件里配置一下(又是该死的配置文件),又比如你苦于在Java里没法像C#里那样用Lambda,马上有个跟你一样想法的人开发了一个lambda4j(Java人有个说法是:语言不足类库来补,不过Java这个语言太不足了,所以有的时候类库补也补不好)。你可以在琳琅满目的开源框架和开源类库里寻找一个最合适的,然后打开这个潘多拉魔盒。最主要的是她还是开放的,你不仅可以学习其代码思想,如果你发现有问题你甚至可以提交代码,那种成就感我倒是在开发.NET时没有感觉到。比如你要开发高性能服务器,在.NET里还没见过这类的开源项目,可Java里你可以学习Netty,可以学习Mina,你甚至可以根据自己具体的业务场景,对这些开源软件进行适当的修改。当然,你可以说思想是一样的,这倒是不错。但因为IO模型在Java里和.NET里并不一样,所以还是有很多不同的(当然我觉得.NET的异步IO更容易使用,Java的NIO那是什么狗屎一样的API啊)。
搞开发的肯定离不开IDE。.NET里的IDE当之无愧的是Visual Studio了。不过我却觉得Visual Studio这几年已经离开发人员越来越远了,好像他要搞什么全生命周期的软件开发工具。所以不但臃肿,而且对开发人员并不是很友好(当然,她的可视化设计器是无与伦比的,但我不觉得可视化设计器是什么开发人员的“利器”)。举两个例子:VS里大量使用组合快捷键。这样不仅使得快捷键过长,难以记忆,而且还好难使用啊,你必须按两次,而且时间不能间隔太长。还有VS的重构功能,太弱了。
在Java里有各种各样的IDE,有免费的,有收费的。我很喜欢的一个就是Intellij Idea。Idea给我的印象就是,她真的是在关注开发人员(写代码的)这个角色。所有的快捷键都很简单,好用好记。比如,大部分东西在Idea里可以使用Alt+Enter这个万能快捷键解决(这个快捷键是上下文感知的,在不同上下文中它知道要干什么)。
再就是Idea对重构的支持,如果你熟练之后,做一项大的重构你都无需手动的去修改什么代码,直接依靠IDE的支持就可以完成,这在安全的重构里是很重要的一点,手动的去修改代码重构如果在测试不完备的情况下风险是非常高的。
当然VS也有很多非常好用的插件,可以提高开发效率。比如大名鼎鼎的Resharper就来自于Intellij Idea同一个公司,由这个插件你可以看到Idea是如何关注写代码的人的效率。
JVM vs CLR
一般的,Java跑在JVM上,C#跑在CLR上。从技术实现上他们两平分秋色,各有各的优点,我们不能评价他们的好坏。只能说可能JVM在XXX上胜过CLR,CLR在XXX上胜过JVM。而且JVM和CLR有居多相似之处,大多数东西都可以在对方找到相应的东西。
那么她们就无法比较了么?不是,经过一年的学习我表示我更喜欢JVM一点。
JVM(在这里只假设是Oracle/Sun Hotspot JVM)暴露了众多的配置参数给开发人员。你可以通过这些参数间接地控制JVM的运行。就比如GC吧,JVM里有各种参数来控制各个代的大小,还可以通过参数让JVM采用什么样的垃圾收集策略。因为不同类型的应用:比如桌面的、服务器端得、内存小的等等不同类型的应用适合不同的垃圾收集策略。而CLR在垃圾收集上只给开发人员提供了Workstation(是否是concurrent GC,.net 4.0是background GC)/Server等很少的控制(不过也几乎很少用到)。当然,如果你想最大化控制CLR你就只有自己Host CLR,然后调用Host API进行控制,但是那样难度高很多。
我很愿意承认CLR是自适应的,她能自动的智能的识别出你的需求,然后自动的进行调整。不过我在这里主要想到的是,微软在这里扮演着保姆的角色。在你很小的时候,保姆能够在一定程度上保护你,免你受到伤害。但是你不能永远生活在保姆的怀抱里,如果你想变得更强大你需要自己独自一人出去看看。
注:这一节不是比较JVM和CLR,因为我没有那个能力。只是想从JVM和CLR所表现出来的差异来看看一些“看不见的东西”。
上面主要谈了技术层面的东西。现在说说软件开发中的人。
我现在所在的公司面试有个特点:会让面试者做一份家庭作业,然后让公司同事Code Review。在这一年里我看了很多Java的代码,也看了很多C#代码。但是我伤心的发现:
1、虽然Java的也有烂代码,但是Java代码大多更注意代码的美感。大家都非常注意选择方法名,变量名,类名等。也非常愿意写一些小的,容易理解的方法,小的目的明确的类。可我亲爱的.NET同行们,大多在这方面很随意。一个方法200行不算长,甚至一个功能就放到一个方法里实现了。我看呀看呀,都看不到尽头。更别说类职责单一了。
2、测试 Java同学的代码大多有测试,虽然有的测试不怎么好,但最起码有那么几个测测核心功能。但是.NET代码呢?很难见到几个有测试的(难道这是因为VS很晚才加入对Unit Test的支持有关?)。我不是说一定要有测试,我只是描述一下这么个现象。
3、你也太随意了。我见到有那么几份.NET代码,我知道你创建了一个WinForm的项目,然后你却不把VS自动生成的那几个Form1.cs,Form1.resx给删掉。
4、构建 从构建这个层面就更显出问题了,Java同学提交的代码大多有构建的脚本,无论是Ant还是Maven,所以你只需要敲一个命令行,马上可以看见人家的结果。而.NET同学的基本上都是sln文件。这一点不是说谁好谁坏的,因为我之前做.NET也从来没有自动构建脚本,我只想说两个社区有些不同。
我在这里并不是贬低某个社区的开发人员,也不想扯进任何平台的纷争。因为这只是我看到的现象,还有很多是我没看到的,而且这也严重的受到我周围同事的影响,所以难免以偏概全。
如果有不足地方请不吝指教。(JAVA开发)
第三方登录:}

我要回帖

更多关于 u盘启动盘制作工具 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信