配置环境
建议使用jdk1.8
配置环境变量:JAVA_HOME
和 Path
配置完毕后在CMD
下用以下命令验证是否正确配置。
java -version
javac -version
IDE推荐使用eclipse for JavaEE
。初次启动时要设置workplace。
菜鸟教程关于环境搭建的教程
J2EE简介
1997年,JavaSE
推出。
2001年,基于JavaSE
的J2EE
推出。
它不是一种语言,而是标准和平台。
它的包以javax
开头,如javax.servlet
,javax.servlet.http
,javax.jms
。
J2EE
的“2”指的是Java的版本,但随着Java的版本不断更新,现在一般统称为Java EE
。
Java EE
用接口、抽象类、虚函数给出了平台的定义,但是功能要自己实现。Tomcat
给出了Java EE
的部分实现,Tom EE
等给出了完整实现。上课时使用Tomcat
。
有官方文档:java_ee_sdk_8。
HelloWorld
在windows系统下先通过startup.bat
启动Tomcat
。
在浏览器通过localhost:8080
访问示例页面和程序来确认启动成功。
以下是HelloWorld程序示例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package a; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet implements Servlet { private ServletConfig config; public void init(ServletConfig config) { this.config = config; } public void destroy() { } public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { res.setContentType("text/html;charset=utf-8"); PrintWriter out = res.getWriter(); out.println("<h1>hello world</h1>"); } }
|
Tomcat
启动时会自动创建一个类的实例,使用默认的构造函数(所以乱写构造函数会出BUG)。
容器中的组件被启动时会调用init
,销毁时调用destroy
。
有关HTTP
的内容可参考:菜鸟教程-HTTP协议
有关Servlet
的生命周期可参考:菜鸟教程-Servlet生命周期
如果某个接口的函数过多,可以继承其适配器类,然后重写(override)需要修改的函数。
在以下程序示例里,HttpServlet
为适配器类。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
| package a; import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class HelloServlet extends HttpServlet { public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException { res.setContentType("text/html;charset=utf-8"); PrintWriter out = res.getWriter(); out.println("<h1>hello world</h1>"); } }
|