㈠ tomcat下web应用的基本结构,各文件夹里面存放什么
以tomcat6.0为例
安装好完毕后,目录如下:
bin :
1 存放着jar(tomcat中所有的项目以及tomcat本身所使用的jar,即公用的。例如:你在 tomcat中部署了2个项目,这个2个项目里面都用同一个jar去连接数据库,这个时候,你可以把这个jar放在这里)
2 tomcat启动/关闭的脚本(绿色版的是脚本,安装版的是图形界面)
conf:
配置文件
例如:
1 server.xml(Tomcat的主要配置文件,这里可以配置tomcat项目端口号,字符集,域名等)。
2 web.xml:Tomcat配置的web应用设置缺省值的文件(web.xml是web项目中不可缺少的,但是你写了在webapps下建立一个文件夹,然后再里放一个JSP然后运行它,这个时候能运行成功,因为:Tomcat配置的web应用会自动设置缺省值的文件)。
lib:
Tomcat使用的jar文件。
例如:系统里面有环境变量,当你运行tomcat的时候,会自动加载进来
logs:
日志
temp:
临时文件(忽略它,相当于系统垃圾)
webapps:
应用程序部署在这里
work:
缓存
例如:你部署了一个叫demo的项目,你运行的时候,tomcat会解释你的项目,这个时候,这个里面存放的全是解释你项目后的东西。可以清掉。启动tomcat后还会自动生成。但是要注意,如果tomcat启动后,你清掉了,那么项目运行不了
不废话了,3~!老板来了~!
㈡ java web项目中,文件位置
1.JSP 所有的网页代码
2.js所有的javaScript代码
3.bo一般是java的类文件
4.一般是处理数据库方法的接口
5.impl是上述接口的实现
6.service 是 处理数据库逻辑的服务
7.action 是处理业务逻辑的
8.xml是配置文件
9.jsp得到请求到 structs的配置文件里找相应的配置方法,根据配置方法到action里找到处理的方法,然后执行,返回一个结果,再到刚才的配置文件里查找返回处理结果,然后返回jsp页面上
10.这其中,action里的处理的时候,可能会跟数据库发生交互,就会调用service里的方法,service里的方法又会通过接口调用impl里的方法,然后bo里是与数据库一一对应的映射文件,对应着数据库里的每张表。
㈢ java怎么读取web工程里面的文件
平时写程序的时候,很多时候提示文件找不到,而抛出了异常,现在整理如下
一 相对路径的获得
说明:相对路径(即不写明时候到底相对谁)均可通过以下方式获得(不论是一般的java项目还是web项目)
String relativelyPath=System.getProperty("user.dir");
上述相对路径中,java项目中的文件是相对于项目的根目录
web项目中的文件路径视不同的web服务器不同而不同(tomcat是相对于 tomcat安装目录\bin)
二 类加载目录的获得(即当运行时某一类时获得其装载目录)
1.1)通用的方法一(不论是一般的java项目还是web项目,先定位到能看到包路径的第一级目录)
InputStream is=TestAction.class.getClassLoader().getResourceAsStream("test.txt");
(test.txt文件的路径为 项目名\src\test.txt;类TestAction所在包的第一级目录位于src目录下)
上式中将TestAction,test.txt替换成对应成相应的类名和文件名字即可
1.2)通用方法二 (此方法和1.1中的方法类似,不同的是此方法必须以'/'开头,
InputStream is=Test1.class.getResourceAsStream("/test.txt");
(test.txt文件的路径为 项目名\src\test.txt,类Test1所在包的第一级目录位于src目录下)
三 web项目根目录的获得(发布之后)
1 从servlet出发
可建立一个servlet在其的init方法中写入如下语句
ServletContext s1=this.getServletContext();
String temp=s1.getRealPath("/"); (关键)
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\ (002_ext为项目名字)
如果是调用了s1.getRealPath("")则输出D:\工具\Tomcat-6.0\webapps\002_ext(少了一个"\")
2 从httpServletRequest出发
String cp11111=request.getSession().getServletContext().getRealPath("/");
结果形如:D:\工具\Tomcat-6.0\webapps\002_ext\
四 classpath的获取(在Eclipse中为获得src或者classes目录的路径)
方法一 Thread.currentThread().getContextClassLoader().getResource("").getPath()
eg: String t=Thread.currentThread().getContextClassLoader().getResource("").getPath();
System.out.println("t---"+t);
输出:t---/E:/order/002_ext/WebRoot/WEB-INF/classes/
方法二 JdomParse.class.getClassLoader().getResource("").getPath() (JdomParse为src某一个包中的类,下同)
㈣ Javaweb项目中页面展示是用什么文件
使用jsp和html展示内容以及和后端交互。
html是静态页面,jsp是动态页面,日常开发中,这两种都是结合使用的。
JSP全名为JavaServerPages,中文名叫java服务器页面,其根本是一个简化的设计,它 是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML标准通用标记语言的子集文件*.htm,*.html中插入Java程序段Scriptlet和JSP标记tag,从而形成JSP文件,后缀名为(*.jsp),用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。
㈤ myeclipse的web项目下面的lib文件夹怎样在下面新建文件夹
最简单的方式:
1、右击该新建的文件夹-->build
path-->add
build
path就可以了。如果右击单个包就是将单个包加入至build
path的意思。
试下看吧。
㈥ Java web开发项目中各文件的作用
JSP 所有的网页代码
js所有的javaScript代码
bo一般是java的类文件
一般是处理数据库方法的接口
impl是上述接口的实现
service 是 处理数据库逻辑的服务
action 是处理业务逻辑的
xml是配置文件
jsp得到请求到 structs的配置文件里找相应的配置方法,根据配置方法到action里找到处理的方法,然后执行,返回一个结果,再到刚才的配置文件里查找返回处理结果,然后返回jsp页面上
这其中,action里的处理的时候,可能会跟数据库发生交互,就会调用service里的方法,service里的方法又会通过接口调用impl里的方法,然后bo里是与数据库一一对应的映射文件,对应着数据库里的每张表
㈦ java web项目代码包含哪些文件夹
java zip 压缩文件以及整个文件夹目录
public static final String EXT = ".zip";
private static final String BASE_DIR = "";
// 符号"/"用来作为目录标识判断符
private static final String PATH = "/";
private static final int BUFFER = 1024;
/**
* 压缩
*
* @param srcPath 需要压缩的文件(目录) 的路径
* @throws Exception
*/
public static void compress(String srcPath) throws Exception {
File srcFile = new File(srcPath);
compress(srcFile);
}
/**
* 压缩
*
* @param srcFile 需要压缩的文件(目录) 的路径流
* @throws Exception
*/
public static void compress(File srcFile) throws Exception {
String name = srcFile.getName();
String basePath = srcFile.getParent();
String destPath = basePath +"/"+ name + EXT;
compress(srcFile, destPath);
}
/**
* 压缩
*
* @param srcFile
* 源路径
* @param destPath
* 目标路径
* @throws Exception
*/
public static void compress(File srcFile, File destFile) throws Exception {
// 对输出文件做CRC32校验
CheckedOutputStream cos = new CheckedOutputStream(new FileOutputStream(
destFile), new CRC32());
ZipOutputStream zos = new ZipOutputStream(cos);
compress(srcFile, zos, BASE_DIR);
zos.flush();
zos.close();
}
/**
* 压缩文件
*
* @param srcFile
* @param destPath
* @throws Exception
*/
public static void compress(File srcFile, String destPath) throws Exception {
compress(srcFile, new File(destPath));
}
/**
* 压缩
*
* @param srcFile
* 源路径
* @param zos
* ZipOutputStream
* @param basePath
* 压缩包内相对路径
* @throws Exception
*/
private static void compress(File srcFile, ZipOutputStream zos,
String basePath) throws Exception {
if (srcFile.isDirectory()) {
compressDir(srcFile, zos, basePath);
} else {
compressFile(srcFile, zos, basePath);
}
}
/**
* 文件压缩
*
* @param srcPath
* 源文件路径
* @param destPath
* 目标文件路径
*
*/
public static void compress(String srcPath, String destPath)
throws Exception {
File srcFile = new File(srcPath);
compress(srcFile, destPath);
}
/**
* 压缩目录
*
* @param dir
* @param zos
* @param basePath
* @throws Exception
*/
private static void compressDir(File dir, ZipOutputStream zos,
String basePath) throws Exception {
File[] files = dir.listFiles();
// 构建空目录
if (files.length < 1) {
ZipEntry entry = new ZipEntry(basePath + dir.getName() + PATH);
zos.putNextEntry(entry);
zos.closeEntry();
}
for (File file : files) {
// 递归压缩
compress(file, zos, basePath + dir.getName() + PATH);
}
}
/**
* 文件压缩
*
* @param file
* 待压缩文件
* @param zos
* ZipOutputStream
* @param dir
* 压缩文件中的当前路径
* @throws Exception
*/
private static void compressFile(File file, ZipOutputStream zos, String dir)
throws Exception {
/**
* 压缩包内文件名定义
*
* <pre>
* 如果有多级目录,那么这里就需要给出包含目录的文件名
* 如果用WinRAR打开压缩包,中文名将显示为乱码
* </pre>
*/
ZipEntry entry = new ZipEntry(dir + file.getName());
zos.putNextEntry(entry);
BufferedInputStream bis = new BufferedInputStream(new FileInputStream(
file));
int count;
byte data[] = new byte[BUFFER];
while ((count = bis.read(data, 0, BUFFER)) != -1) {
zos.write(data, 0, count);
}
bis.close();
zos.closeEntry();
}
/**
* 解压缩功能.
* 将ZIP_FILENAME文件解压到ZIP_DIR目录下.
* @throws Exception
*/
public static void upZipFile() throws Exception{
String ZIP_DIR="d:\\";
String ZIP_FILENAME="D:\\xxx.zip";
ZipFile zfile=new ZipFile(ZIP_FILENAME);
Enumeration zList=zfile.entries();
ZipEntry ze=null;
byte[] buf=new byte[1024];
while(zList.hasMoreElements()){
ze=(ZipEntry)zList.nextElement();
if(ze.isDirectory()){
File f=new File(ZIP_DIR+ze.getName());
f.mkdir();
continue;
}
OutputStream os=new BufferedOutputStream(new FileOutputStream(getRealFileName(ZIP_DIR, ze.getName())));
InputStream is=new BufferedInputStream(zfile.getInputStream(ze));
int readLen=0;
while ((readLen=is.read(buf, 0, 1024))!=-1) {
os.write(buf, 0, readLen);
}
is.close();
os.close();
}
zfile.close();
}
/**
* 给定根目录,返回一个相对路径所对应的实际文件名.
* @param baseDir 指定根目录
* @param absFileName 相对路径名,来自于ZipEntry中的name
* @return java.io.File 实际的文件
*/
public static File getRealFileName(String baseDir, String absFileName){
String[] dirs=absFileName.split("/");
File ret=new File(baseDir);
if(dirs.length>1){
for (int i = 0; i < dirs.length-1;i++) {
ret=new File(ret, dirs[i]);
}
if(!ret.exists())
ret.mkdirs();
ret=new File(ret, dirs[dirs.length-1]);
return ret;
}
return ret;
}
㈧ 的web应用程序项目下的文件都是什么文件
通过发布 Web 应用程序项目,Visual Studio 可将 Web 应用程序的文件编译到单个程序集中,然后将编译的程序集复制到指定的位置。ASP.NET Web 应用程序项目与标准的 Visual Studio 2005 类库项目共享相同的配置设置和行为。可将 Web 应用程序发布到本地文件夹或共享文件夹、FTP 网站或者通过 URL 访问的网站。位于Visual Studio“生成”菜单上的“发布网站”对话框使您能够生成和发布 Web 应用程序。另外,可以选择从该网站删除源代码。这提供了保护知识产权的措施并使其他人更难访问网站的源代码。有关预编译过程中您的文件所发生情况的更多信息,请参见 ASP.NET 预编译期间的文件处理。注意“发布网站”对话框仅适用于使用 ASP.NET Web 应用程序模板创建的项目。在发布 Web 应用程序之前,请检查原始网站的配置并注意以下几点:必须存在于远程位置的任何设置。具体来说,就是检查如连接字符串、成员资格设置和其他安全设置等设置,并确保这些设置适用于生产环境。必须在发布的网站上更改的任何设置。例如,您可能希望在发布网站后禁用调试、跟踪及自定义错误。由于配置设置是通过继承而来的,因此可能需要检查多个文件以查找所有适用的设置。除了应用程序中的任何 Web.config 文件之外,配置设置还可能位于“系统根目录\Microsoft.NET\Framework\version\CONFIG”目录下的 Machine.config 文件或根 Web.config 文件。如果您没有查看根配置文件的权限,则可以使用如何:以编程方式查看继承的配置设置和本地配置设置中的代码示例输出包含您网站配置设置的完整列表的文件,该文件被格式化为标准的配置文件。有关配置设置的定义,请参见常规配置设置 (ASP.NET) 和ASP.NET 配置设置。注意若要完成下面的过程,您必须在目标位置同时拥有创建和写入权限。发布Web 应用程序项目在“生成”菜单上,单击“发布 项目名称”选项。在“发布网站”对话框中,单击省略号按钮 (…) 浏览至要发布 Web 应用程序项目的位置。选择“用本地副本替换匹配的文件”复选框或选择“发布前删除所有现有的文件”复选框。选择希望如何将 Web 应用程序项目文件复制到新位置:是“仅限于运行该应用程序所需的文件”、“所有项目文件”,还是“源项目文件夹中的所有文件”。同时,通过选择相关复选框可包括 App_Data 文件夹中的文件。单击“确定”发布 Web 应用程序项目。完成发布时,在任务栏中即显示“发布成功”。对位于目标位置的 Web 应用程序进行所需的任何配置更改。有关更多信息,请参见如何:配置已发布的网站。注意为了提高安全性,最好对特定配置设置进行加密。有关更多信息,请参见使用受保护的配置加密配置信息。请参见参考“发布 Web”对话框其他资源>Web Application Projects Overview
㈨ eclipse WEB项目开发时,项目文件组织结构是怎样的
按照 Java EE 规范的规定,一个典型的 Web 应用程序有四个部分:
1. 公开目录 ;
2. WEB-INF/web.xml 文件,发布描述符(必选) ;
3. WEB-INF/classes 目录,编译后的 Java类文件(可选) ;
4. WEB-INF/lib 目录,Java类库文件(*.jar) (可选) ;
公开目录存放所有可以被用户的访问的资源, 包括 .html, .jsp, .gif, .jpg, .css, .js, .swf 等等。
WEB-INF 目录是一个专用区域, 容器不能把此目录中的内容提供给用户。
这个目录下的文件只供容器使用,里面包含不应该由客户直接下载的资源,
例如: Servlet(这些组件包括应用程序逻辑以及对其他资源如数据库的可能访问), Web应用程序中servlet可直接访问的其他任何文件,在服务器方运行或者使用的资源(如 Java类文件和供 servlet 使用的 JAR文件),由您的应用程序生成的临时文件,,发布描述符以及其它任何配置文件。
这些资源是专用的, 因此只能由它们自己的 Web应用程序及容器访问。
特别地,JSP/Servlet 程序文件也能通过 ServletContext 访问到这个目录下的文件,
例如 JSP 中可以通过application.getRealPath(“/WEB-INF/web.xml”) 访问到发布描述符文件的路径。
Web容器要求在你的应用程序中必须有 WEB-INF 目录。
注意: 如果你的 Web 应用程序中没有包含这个目录, 它可能将无法工作
WEB-INF 中包含着发布描述符, 一个 classes 目录和一个 lib目录, 以及其它内容。
发布描述符(deployment descriptors)是 J2EE Web 应用程序不可分割的一部分(也就是说是它的最小部分, 必不可缺的一部分)。
它们在应用程序发布之后帮助管理 Web 应用程序的配置。
对于Web 容器而言, 发布描述符是一个名为 web.xml 的 XML 文件, 存储在 Web 应用程序的 /WEB-INF目录下。
发布描述符有多种用途:
• 为 Servlet 和 Web 应用程序提供初始化参数 这使我们的Web应用程序中的硬性编写的代码的初始化值更少。 例如常见的 <param-name>, <param-value>标记, 就可以为Servlet 提供参数, 这个参数可以在 init() 方法中加载。
Struts 的 ActionServlet 也是通过这种方式来找到它们需要的配置文件 struts-config.xml 的位置, 从而加载并分析它,来初始化 Struts 框架用到的各种 FromBean, Action, Forward等。
• Servlet/JSP 定义 可以为 Web 应用程序中的每个 Servlet 或者预编译的 JSP 网页提供定义。
包括Servlet/JSP的名字, Servlet/JSP 的类以及一个可选的描述。
• Servlet/JSP 映射 Web容器使用这些信息把进入请求映射到 servlet 和 JSP 网页。
• MIME类型 由于每个 Web 应用程序可以包含多种内容类型, 因此我们可以在发布描述符中为每一种类型指定 MIME 类型。
• 安全性 我们可以使用发布描述符来管理应用程序的访问控制。 例如, 可以指定我们的Web应用程序是否需要登录, 如果需要的话, 应该使用什么登录页面, 以及用户会作为何种角色。
发布描述符还可以用来自定义其他元素, 包括欢迎网页, 出错网页, 会话配置等等。
classes 目录用于存储编译过的 servlet 及其它程序类, 例如 JavaBean。
如果一个程序有打包的 JAR 文件(例如一个第三方 API 打包成了一个 JAR 文件, 如 Struts 框架的类库struts.jar, Mysql 的数据库 JDBC 驱动程序文件 mysql-connector-java-3.1.11-bin.jar 等),
那么它们可以被复制到lib目录中(如果解压缩这些压缩包的话, 请将它们复制到classes目录中)。
Web 容器使用这两个目录来查找 servlet 及其他相关类, 也就是说, 容器的类装入器会自动查看 classes 目录, 以及 lib目录下的 JAR文件。
这就意味着你不需要明确的把这些类和 JAR文件添加到 CLASSPATH中。
Web容器自动将这两个目录中的文件加入 Web应用的类路径中。