编写不易,如有转载,请声明出处: 梦回河口:http://blog.csdn.net/zxc514257857/article/details/71152003
Web应用程序是可以通过Web进行访问的应用程序,最大的好处是访问非常容易。比如淘宝、新浪、网易等门户网站
软件开发领域的三大方向:桌面应用程序(C/S架构 比如说QQ.exe等),Web应用程序(B/S架构 比如说淘宝,新浪,网易等门户网站),嵌入式应用程序(C/S架构 比如说android开发,ios开发等)
C/S架构是客户端/服务器架构,B/S架构是浏览器/服务器架构,一般来说,前者的数据流量会比后者要小,但维护比较麻烦。举个例子:以买火车票为例,用12306客户端买火车票就为前者,直接上网页买就是后者。
静态网页所需技术:Html和css。表现形式:内容固定,不会更新
动态网页所需技术:Html、css、JavaScript、以及数据库,最少一门高级语言(Java,C#,Php以及Python),动态网页脚本技术(Jsp,asp.net或者Php)。表现形式:内容通过程序动态显示,自动更新
JDK,Tomcat服务器以及MyEclipse 集成开发环境,安装出现的问题参考此博客:http://blog.csdn.net/zxc514257857/article/details/69939090
Tomcat打开方式:在Tomcat安装包的bin目录下找startup.bat,双击打开则开始运行Tomcat,关闭Tomcat可以在bin目录下找shutdown.bat,双击打开也可以关闭Tomcat。同时也可以通过关闭运行startup.bat打开控制台页面也可以关闭Tomcat,但不推荐
Tomcat的目录结构: /bin 用于Tomcat的命令文件,比如startup.bat和shutdown.bat;/conf 用于存放Tomcat服务器的配置文件; /lib 用于存放Tomcat服务器所需的Jar文件; /logs 用于存放Tomcat的日志文件; /temp 用于存放Tomcat运行时的临时文件;/webapps 当发布Web应用时,默认会将Web应用的文件发布到此目录;/work Tomcat把由Jsp生成的Servlet放于此目录下
在tomcat—>webapps目录下新建一个文件夹,以项目名称命名(比如MyFirstJavaWebProject),在此文件夹中新建一个index.jsp文件,同时新建一个WEB-INF文件夹,WEB-INF文件夹中新建一个lib文件夹,一个classes文件夹和一个web.xml(可将其他正常项目的web.xml文件拷贝过来使用,但注释需删除干净)
index.jsp是默认的服务端展示页面
WEB-INF 是Java Web的安全目录,客户端无法访问,只有服务端可以访问
web.xml 是项目部署文件。index.jsp相当于项目的欢迎页,默认如果域名未完整输入也会跳入index.jsp页面,但如果没有index.jsp页面或者不想将index.jsp页面设为项目的欢迎页,则可以在web.xml文件中修改项目的欢迎页。方法是,在web.xml文件中做如下改动:
lib目录用于存放项目所需要的jar包
classes目录用于存放编译生成的.class字节码文件
在MyEclipse中新建一个Java Web项目,在项目的WebRoot目录下找到index.jsp,修改页面内容,完成后将页面推到服务器中(实际就是在tomcat—>webapps目录下生成相关文件),然后通过localhost:8080/项目名/index.jsp访问页面内容
在Window—>preferences—>Java—>Installed JREs中,右侧点击add,选择standard VM,找到自己安装的JRE,最后选中保存即可
Window—>preferences—>MyEclipse—>servers—>Tomcat,选择自己的Tomcat的版本,将Tomcat server设置为enable,然后选择JDK为自己本地安装的JDK版本,点击OK后打开服务器,然后再运行测试(在浏览器地址栏输入localhost:8080,如果弹出Tomcat初始页面则表示在MyEclipse中集成Tomcat环境成功)
Web项目默认的虚拟路径就是项目名+ .jsp文件
修改项目的虚拟路径方式:右击项目,在Properties—>MyEclipse—>Web—>右侧WebContext-root就是项目的虚拟路径,修改为你想修改的虚拟路径名就可以了,修改完成之后,将页面推到服务器中,然后重启服务器,就可以在webapps目录下找到你重命名的虚拟路径文件夹了
如果出现Tomcat服务器端口号冲突的情况,就需要修改Tomcat服务器端口号,修改方法:在Tomcat的安装目录下找到conf—>server.xml,打开搜索,搜索8080端口内容,将其修改为其他端口就可以了
Jsp全名为Java Server Pages,其根本是一个简化的Servlet,实现了在Java中使用Html标签,是一种动态网页脚本技术,也是JavaEE标准。其与Servlet一样,都是在服务端执行的
常见的动态网站开发技术对比:Jsp,Java平台,跨平台性好,安全性高,适合大型、分布式、企业级开发(hadoop);Asp.net .net平台,简单易学,安全性及跨平台性差;Php:简单高效,成本低,开发周期短,适合中小型企业的Web应用开发(Php黄金组合:LAMP)
Jsp页面元素构成: 静态内容、指令、表达式、小脚本、声明、注释
指令:page指令,通常写在Jsp页面的顶端,同一个页面可以有多个page指令,例如:
<%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
// language 默认为Java import 无默认内容 contentType 默认text/html ISO-8859-1
include指令,将一个外部文件嵌入到当前Jsp文件中,同时解析这个页面中的Jsp语句;taglib指令,使用标签库定义新的自定义标签,在Jsp页面中启用定制行文
注释:Jsp中有三种注释格式,Html注释,Jsp注释和Jsp脚本注释;Html注释如下:
// 客户端可见
Jsp注释如下:
<%-- JSP注释--%> // 客户端不可见
Jsp脚本注释如下:
<%
// 单行注释
/*
* 多行注释
*/
// 客户端不可见
%>
脚本:在JSP页面中执行的Java代码,例如:
<% out.println("hehe") %>
声明:定义变量或方法,例如:
<%
// 定义变量
int x = 10
// 定义方法
public int add(int a , int b){
return a + b;
}
%>
表达式:调用在声明中定义的变量或方法
// 调用变量
<%= x %>
// 调用方法
<h1> a + b = <%=add(3 , 4) %> h1>
jspService()方法被调用来处理客户端的请求,对每一个请求,Jsp引擎会创建多个线程来处理该请求。如果有多个客户端同时请求该jsp文件,则jsp引擎会创建多个线程。每个客户端请求对应一个线程,以多线程方式执行可以大大降低对系统的资源需求,提高系统的并罚两以及响应时间。但也需要注意多线程并发所带来的资源同步问题。
Tomcat—>work目录下放置的是各个项目中jsp文件转化为Servlet生成的字节码文件
当页面还未推到服务器上时,work目录下是没有此项目的,推至服务器中并打开服务器,会在work目录生成此项目文件夹,但其内并无内容;当访问此项目jsp页面成功时,就会在work目录对应的此项目文件夹中编译生成字节码文件;当jsp页面内容发生改变的时候,jsp引擎就会重新编译此页面
当用户第一次请求一个jsp页面时,首先被执行的方法是 构造方法。原因:Jsp部署在服务器(tomcat)之后是会被编译成对应class文件的,jsp文件不再存在。在项目部署之后,一个个的Jsp变成了一个个的Java类,java类当被执行的时候肯定先走构造方法,所以先被执行的是构造方法咯