第一章 Java Web开发概述
桌面程序也叫胖客户端程序RCP,需要安装使用。
瘦客户端程序TCP,一般表现为Web程序,流行的“软件即服务”SAAS。
网络程序分为B/S和C/S结构,C/S指客户端/服务器,需要安装RCP,与服务器进行数据交互,一般的网络程序都是。
B/S指的是浏览器/服务器模式,一般网站都是。
浏览器和Web服务器之间交互的桥梁:HTTP
常用的Web服务器:
IIS:微软,ASP语言,插件安装也可支持PHP
Apache:处理静态页面
Tomcat:提供JSP和Servlet的支持,也可PHP,轻量级的Java Web容器,EJB不能运行
JBoss:重量级的,提供J2EE各种规范的良好支持
传统的Web服务器模式开发:静态,不能满足多样的需求。
CGI实现页面的动态生成
Java Servlet:改进的CGI
只需要启动一个操作系统进程及加载一个JVM,降低了系统的开销。
如果多个请求做同样处理,只需要加载一个类降低了开销
所有动态加载的类可以实现对网路协议及请求解码的代码共享,降低了工作量
Servlet能直接和Web服务器交互
Servlet生成网页的方法在java类中嵌入HTML标签和表达式,改动,需要重新编译等
JSP:Servlet的模板
Java Server Pages一种实现普通静态HTML和动态HTML混合编码的技,具有Servlet的所有优点。
Web容器处理JSP文件请求需要:翻译阶段(JSP文件转换成Java代码)-编译阶段(编译成可执行的字节码)-请求阶段
第2章 搭建Java Web开发环境
java JDK,IDE,web应用服务器
开发工具包JDK(开发环境),JRE(java运行环境)
IDE:Eclipse,NetBeans,JDeveloper,还需Myeclipse的插件。
java服务器:Apache
MyEclipse支持java EE,集成了Spring,structs,Hibernate,iBatis,WebWork,Struts,还可自动将应用部署到服务器。
下载MyEclipse插件
下载Tomcat服务器
解压配置tomcat,添加环境变量 CATALINA_HOME:C:\CIPHER\apache-tomcat-6.0.44,添加path:CATALINA_HOME%\bin
双击bin里面的startup.bat启动Tomcat,或者cmd中输入startup
http://localhost:8080/ 欢迎页
设置端口号
HTTP默认端口80,如果是80可省略,否则必须加端口号。
Tomcat的端口号配置在conf\server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
设置临时域名
localhost访问本机,C:\WINDOWS\system32\drivers\etc 编辑文件hosts
设置虚拟主机
即多个不同域名的网站共存于一个Tomcat中,修改C:\CIPHER\apache-tomcat-6.0.44\conf
<Engine name="Catalina" defaultHost="ren">
<Host name="www.baidu.com" appBase="webapps/ren">
第一个java web程序
新建web project
web.xml
新建一个Servlet
自动生成的完成一句简单的话输出,修改一下
public void doGet(HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException {
response.setCharacterEncoding( "UTF-8");//编码方式
request.setCharacterEncoding( "UTF-8");
response.setContentType( "text/html");//设置文档类型
PrintWriter out = response.getWriter(); //获取out对象
//输出到客户端浏览器
out.println( "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");
out.println( "<HTML>");
out.println( "<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\">");
out.println( " <HEAD><TITLE>A Servlet</TITLE></HEAD>");
out.println( " <BODY>");
String requestURI = request .getRequestURI();//获取URI路径
out.println( "<form action='" + requestURI + "' method='post'>");
out.println( "请输入您的名字: <input type='text' name='name' />");
out.println( "<input type='submit' />" );
out.println( "</form>");
out.println( "");
//获取浏览器提交的name参数
String name = request.getParameter( "name");
if(name != null && name.trim().length() > 0){
out.println( "您好,<b>" + name + "</b>.欢迎来到Java Web世界." );
}
out.println( " </BODY>");
out.println( "</HTML>");
out.flush();
out.close();
}
public void doPost(HttpServletRequest request, HttpServletResponse response )
throws ServletException, IOException {
this.doGet(request , response );
}
部署到Tomcat
1.手动部署
2.自动部署
点击图标 manage Deployment,选择firstWeb,然后add:Tomcat,
选择其右边的 启动tomcat,(记住在这里面启动tomcat,然后stop之类)
点浏览器图标web browser,启动(记住,每运行一次,重新启动一次)
调试程序debug