1、为什么说经典javaee开发和运行成本会比轻量级javaee更高?
答:可能是因为专业的JavaEE服务器要钱,而简单的Web服务器不需要钱。
2、EAO和DAO的区别是什么?什么叫实体(Entity)?
3、业务逻辑层和Domain Object(领域对象)层的区别和联系是什么?分别是什么作用?领域对象是什么?
4、JavaEE应用的架构是什么?
5、业务逻辑是什么意思,和数据库访问有什么区别?
6、Spring和SpringBoot什么区别?
7、p4页关于失败结构的论述看不懂。
8、什么时候企业平台会发生改变?也就是什么时候会换底层数据库?如果不会,那么Hibernate的一个特性就比较鸡肋了。
9、什么是嵌入式服务器?JavaEE服务器和Web服务器的区别是什么?
按照上面的回答所说,嵌入式服务器,其实就是类似路由器或者交换机网桥这种东西。
web服务器就是tomcat这种专门用于网页访问的服务器。
按照这篇文章的说法,javaEE包含网页和客户端两种开发方向,而javaWeb就是其中的网页开发方向。java开发桌面应用比较落寞,所以很容易被忽视掉,导致javaEE和javaWeb的区分度不清
10、我其实没弄懂Web的含义是指网页还是指网络?
按照上面一题的说法,Web就是指网页开发。
11、普通的Web服务器不能用分布式吗?
12、DAO和DTO的区别是什么?
13、struts和jsp/servelet的区别和联系?如何一起使用?为什么说struts是MVC框架?
14、什么是MyFaces实现?什么是RAD(快速应用开发)?
15、为什么JSP和Servlet可以实现绝大多数的功能?
16、JAAS和JNDI绑定是什么?p7
17、安装并配置好8.5.23版本的tomcat
只需要解压一下,就好了,然后双击startup就开启了
18、浏览一下tomcat压缩包中的文件
很多看不懂的地方,JRE在哪里也不知道,还有我修改了我笔记本上的JAVA_HOME的指向,但是cmd中java -version都是java15很奇怪
19、说出如何配置java环境变量?
解压后,比较正规的做法是,添加一个JAVA_HOME变量,然后在PATH中用%JAVA_HOME%/bin来指向java的命令,比如javac、javadoc、java之类的。
20、如何修改tomcat长期未被访问自动关闭的时间
没查到
21、修改tomcat提供服务的端口。让tomcat列出Web应用根路径下的所有页面(在哪里列出?)
1、配置端口中的redirectPort为什么设置为8443?
2、我修改了listings为false还重启了tomcat但是没有什么变化
22、说出Server Status控制台和Manager App控制台分别是什么?并且分别查看一下。
1、Server Status
Server Status中有Complete Server Status还有一个Server Status两种状态页面,很多看不懂;
有一个ServerInfo,展示Tomcat版本、JVM版本、JVM提供商、操作系统名称、操作系统版本、操作系统架构、电脑名字、本机被分配的ip地址。
然后是JVM的内存信息,看不懂是什么意思。
然后是三个端口,一个是8009(不是我开的)一个是8080一个是8888后两个是我开的
Complete Server Status和Server Status两个状态唯一的区别是Complete Server Status后面跟了一大堆的东西,我看不太懂。
2、Manager App
最顶上是一个Message,我不知道是什么意思
然后是一个Applications,列出的是webapps中的文件,不知道啥意思
然后是Deploy,部署文件的,会把文件复制到webApps文件夹下,war不知道是什么文件格式。。。
后面是Diagnostics,我看不懂,也不知道怎么用
最后是和Server Status中一样的Server Infomation
23、修改控制台的用户名和密码。如果没找到,安装和书上版本一致的tomcat。如何分配一个manager-gui角色?p11
不需要找,只需要到conf/tomcat-users添加一下就好了。
这些角色我还不明白具体含义和为什么要区分。。。
24、探索一下tomcat的图形界面控制台
HostManager进不去,
25、说出部署Web应用的4种方式,并且练习除了修改server.xml的其他3种方式。
1、直接复制到webApps目录下
2、使用gui界面
3、写一个指定path的xml文件在Catalina/localhost目录下
4、修改server.xml文件
部署的web应用中需要一个index文件,.jsp和.html都可以
26、配置Tomcat的数据源,并说出DBCP数据源是什么?并且说出一个Web应用得概念。什么时候应该使用全局数据源?什么时候应该使用局部数据源?
按照书上p14配置好了,而且把index.jsp页面也放上去了,但是并没有取出数据显示,而是直接把代码显示在上面了,不知道为什么,是不是因为index的原因。。
不是,但是index我也没搞清楚。主要的原因是我没导入javax.naming包(对应Context)和javax.sql.*(对应DataSource),还有要用<% %>包起来才行
如果不指定charset为GBK的话,中文会显示为问号。然后jsp文件是anis还是utf-8都没问题。
27、什么是JNDI名?
28、了解一下javax.sql.DataSource
29、重新下载和安装Eclipse IDE for Java EE Developers。Eclipse了解一下,后面不会用它的,我用记事本。
30、如何查找Eclipse插件的安装地址?说出Eclipse安装插件的方式有哪些?如何卸载手动安装的Eclipse插件?
答:
1、百度呗
2、四种方式:在线安装、手动安装、使用本地压缩包安装、通过Eclipse插件市场安装。
从本地压缩包安装这种一直失败,我也不知道为什么。。。。
手动安装的话,连plugins和features文件夹我都找不到。。。。
直接安装:放进去了重启后也找不到响应插件
扩展安装:按照书上的步骤做了以后也没反应。。。
通过Eclipse插件市场安装,可以看
轻量级javaee第1章课后习题2 的第39题
31、使用Eclipse开发JavaEE应用p17
不知道为什么,书上用first.jsp可以访问,但是我必须要把first改为index才可以正常访问
32、导入一个Eclipse项目p20
第一章让我们导入的项目,和创建的项目结构不同,。。。
33、导入一个非Eclipse项目p21
就是通过File->Import->General->FileSystem选择即可。。
34、使用复制的方式导入一个Eclipse项目。为什么要按f5键?
f5快捷键的意思是单步进入,搞不懂单步进入是什么意思。。。
复制方式就是把src下的java文件,复制到对应的src下。将jsp等文件复制到WebContent目录下。最后按下F5键。
我还没试过。。。
35、安装Ant。什么叫生成工具?什么叫生成文件?有什么作用?p22中失去一些灵活性是什么意思?
生成文件就是负责生成集成指令的xml文件,
想要执行自己写的target就需要这样来写ant命令:ant -f a.xml help这样就可以执行target为help的ant命令了。
作用:可以通过配置生成文件,把很多cmd可以调用的命令组成一组命令,一次性执行,例如:设置一个recreate target,就可以用ant recreate 执行rm然后mkdir这样两条命令
36、查看一下Ant解压后的文件。
下载的是binary版本的,不知道是什么意思,。。。
bin:存放一些cmd中可以执行的命令
etc:书上说是包含一些样式单文件,通常无需理会
lib:存放需要使用的第三方库(在java9中不存在的,存在的话,就不需要放入到这个文件夹了,可以直接使用本地的类库)
manual:一些说明和教程
LICENSE之类的说明性文档(纯英文)
37、命令行窗口和Shell窗口什么区别?尝试一下输入全路径和配置Path这两种不同方式使用Ant命令,ant.bat。
全路径是:从盘符到bin\目录下,类似E:\apache-ant-1.10.1\bin\ant -f a.xml这样使用
配置Path的话,就可以直接使用ant -f a.xml
38、为什么叫Ant?
ant的英文含义是蚂蚁。我猜测是把逐个命令比喻为蚂蚁,然后ant将多个命令绑定成一个行为,就好像,蚂蚁齐心协力的完成一个事情。
39、使用Ant工具,-find、-s、-buildfile、-file、-f、-quiet、-q、-verbose、-v、-logfile、-l、-D=
尝试在生成文件中访问环境变量的值。使用Ant显式指定希望运行的target。ant -help
答:
-find、-f、-s、-buildfile(这四个好像都一样的功能)、-quiet、-q、-verbose
、-v、-logfile、-l(file就是类似 a.log文件)、-D完成,
把文件名改为build.xml就可以直接ant run这样的格式了。
quiet是安静的 -quite是相当的意思
40、定义生成文件。
if=“”
unless=“”
41、dist是放什么的?什么叫做存放项目打包、项目发布文件的文件夹?p25
答:这个是和build这个target有关系,就是把打包好的jar包放入其中
42、<project的basedir指定的基准路径是什么意思?p25如果在同一个生成文件里指定了两个同名的target会发生什么?if和unless怎么用?有什么作用?
答:
1、重名的target会报错,说名字重复了,无法执行target
2、if和unless上面用了,
3、就是为了某些情况下,有某些<property 或者没有的时候,才会执行,比如我使用compile结果没有对应的文件夹,就不会执行,就不会报错。
dir指目录,目录是一个文件夹
file指文件
43、定义Ant任务。看一下p26说的Ant解压路径下的manual目录下的tasksoverview.html页面来了解Ant所支持的核心任务和可选任务。
答:看了一下,列出了他的任务清单,还有简短说明,和详细说明的地址。但是没看到什么核心任务和可选任务这两类的说明。
44、尝试使用<property元素,和${}。echo是什么?使用name、value、resource、file、url、environment、classpath、classpathref
书上有例子的都写了,没有例子的查了三篇博客都没讲,后面有机会补上。
45、使用path和classpath元素p28,说出和的区别?p28下面的配置文件有什么作用?为什么要写它们?居然还有sqlp29
<filelist 是采用files的方式指定文件
<fileset 是采用<include 和<exclude 的方式指定文件
这种文件的配置片段应该是结合一些cmd指令使用的,比如rm path之类的,例如我只是想删除以a开头的文件夹
现在当前路径下有四个文件夹
我要删除以a开头的文件夹
如何查看Ant文档:
Task是指target内部的那些元素,想要查看他们的用法就到%ANT_HOME%/manual/Tasks中查看即可,
比如上面的任务,就可以使用
<delete
<filelist id=“filea” dir=“.” files=“aaa,abc”/
</delete
来删除(其实应该以dirlist来删除才对,因为filelist指定的是文件,dir才是文件夹)
删除b开头的文件夹就可以采用
<delete
<dirset dir="." casesensitive="yes"
<include name="b*"/
</dirset
</delete
来完成
46、看一下%ANT_HOME%/manual/Tasks中的关于task的详细介绍。
答:很多,有156个task
每个都有详细的说明、参数和例子这三大部分组成。
47、p30上面一些属性的含义。
答:查看manual/tasks中的javac文档即可
debug:我还是不知道这个debug信息是什么
includeantruntime:是否将ant运行时需要的库放到classpath中,推荐是不要这样,因为这样的话,就不影响在其他没有ant的机器上运行
deprecation: 不太明白什么是deprecation信息
optimize:不知道这个optimize的含义,不过它说在JDK1.3之后这个参数就被忽视了。
failonerror:我猜测是指,编译时异常是否是强制停止build,
48、p30中的compile和build为什么要先删除?不删除运行一下试一试。并且用一用这些方法,并且说出Ant的作用。
答:我测试了一下,如果先删除的话,新编译的并不会覆盖旧的,只有先删除了才会覆盖旧的。
Ant的作用就是,通过target元素组合一系列的task方法,用一个指令完成一系列指令。