Java Web开发Basic(一) tomcat和web项目了解
Tomcat
Tomcat目录和Web应用目录
Tomcat的目录结构
/bin 存放启动关闭脚本程序等
/conf 存放Tomcat的配置文件
/lib 存放Tomcat服务器需要的JAR文件
/logs 存放Tomcat的日志文件
/work Tomcat把JSP生成的Servlet存放在该目录下
/webapps
/temp 用于临时存放服务器编译过后的jsp->servlet->字节码文件
server.xml中增加
<Context path="/" docBase="xxx" debug="0" reloadable="true" />
其中,debug 日志的输出级别,0为默认级别。越大越详细。
reloadable 为true,项目自动布署class文件。
server.xml中修改编码
在开放的Connector端口上,增加URI编码:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8"/>
Web
Web应用的目录
WebProject
+- META-INF 存储包和扩展的配置数据(打包自动创建)
| +-MANIFEST.MF
+- WEB-INF
| +- web.xml Web应用程序配置文件
|
| +- classes 目录包含了站点所有的 class 文件
| +- XXXX.class
|
| +- lib 应用需要的各种JAR文件
+- (static resources)
web.xml
Java Web应用通过一个基于XML的发布描述符文件web.xml来配置其发布信息,存放于WEB-INF目录下。
在web.xml中可包含Servlet的定义,Servlet的初始化参数,Servlet以及JSP的映射,安全域参数,资源引用,环境变量定义等。
Web应用发布描述符文件web.xml是在Servlet规范中定义的。在web.xml的开头几行基本固定,定义了该文件的字符编码、xml的版本以及引用的DTD文件。web.xml中的顶层元素为<web-app>。其他所有的元素都定义在该元素下。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
...
</web-app>
编译.java文件
example src Code:
package org.free;
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
public class Serv extends HttpServlet {
public void doGet(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
doPost(req,resp);
}
public void doPost(HttpServletRequest req,HttpServletResponse resp)
throws ServletException,IOException{
resp.setContentType("text/html; charset=utf-8");
PrintWriter out = resp.getWriter();
out.print("你好");
out.print("Hello");
out.close();
}
}
编译:
D:\>javac -classpath "d:\\tomcat\\lib\\servlet-api.jar" -d "d:\\xxx" Serv.java
放到
\WEB-INF\classes
目录下.
在web.xml中增加servlet定义
<servlet>
<servlet-name>Serv</servlet-name>
<servlet-class>org.free.Serv</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Serv</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>