目标:
B/S架构的特点:基于请求和响应
Web服务器的功能:
接受请求
查找资源,处理请求
返回结果
Tomcat:
Tomcat目录结构:
bin:放置控制Tomcat运行的命令(shutdow.bat,startup.bat)
conf:放置的是Tomcat的配置文件,需要改变Tomcat运行环境的时候需要修改这些配置文件(server.xml,web.xml,context.xml)
lib:防止Tomcat在运行的时候使用的和可以支持的jar文件
logs:放置日志
temp:临时文件
webapps:放置应用程序
work:放置web应用程序的转换代码
Tomcat运行方式:
简单的方式-->可以直接通过Eclipse的配置来管理
Eclipse的配置方法:
(1)配置服务器环境
(2)部署项目到服务器
注意:web项目的目录结构:
WebRoot目录:
web访问的跟目录
WEB-INF目录:大小写固定不能更改
lib目录:放置运行时需要的jar文件
web.
xml文件:配置当前应用程序的环境
(3)部署应用
程序到Tomcat的webapps目录下
(4)运行服务器,访问应用程序
访问服务器的路径:localhost:8080/
访问服务器资源:
localhost:8080/项目名/资源名
jsp页面的处理过程:
(1)第一次访问
xx.jsp-->xx_jsp.java-->xx_jsp.class
由tomcat服务器负责代码的转换,以及负责实例化xx_jsp.java对象并且调用xx_jsp.java中的xxService方法
(2)第一次之后再次访问
直接访问xx_jsp.class
由tomcat服务器负责实例化xx_jsp.java对象并且调用xx_jsp.java中的xxService方法
注意:两次的产生的对象是同一个,因为tomcat采用单例模式来处理对象的生成
JSP的组成:
1、jsp指令:以“<%@ ” 开始,以“%> ” 结束。一个jsp页面至少需要一个指令:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
page指令:表示当前页面默认运行环境
除了page指令外还有include和taglib指令
include指令:包含指令,可以使当前页面可以包含其他页面内容
taglib指令:引入标签库指令
2、表达式:<%=Java表达式 %>-->页面输出
<%=
Java表达式 %>等同于out.println();
注意:不要加分号
3、小脚本:<% Java 代码 %>
存在于jsp编译的后java中的service方法中
所以可以放置:变量的定义必须赋值,变量的使用,方法的调用,程序逻辑
4、声名:<%! 方法 %>
存在于jsp编译的后java中类中不在任何方法里
所以可以放:变量的定义,方法的定义,块的定义
5、动作:“
a、跳转地址:请求转发
b、包含地址:引如入其他页面内容到本页面
:动态引入,引入动态页面(.jsp),原因是引用页面和被引用页面会生成不同的java文件,可以使用同名变量,编译速度慢
<%@ include %>:静态引入,引入静态页面(.html),原因是生存
java文件会把所有的页面(引用和被引用的页面)都包含
在一起,所以不允许出现同名变量定义,编译速度快
c、一组....:处理javabean
6、注释:
a、HTML注释:会出现在被编译后的java代码中,也会出现在客户端
b、JSP注释:不会出现在被编译后的java代码中,不会出现在客户端
c、java注释:会出现在被编译后的java代码中,不会出现在客户端
JSP的javaBean的操作动作
id:实例化后的对象名
class:javaBean的完整路径
scope:javaBean对象的存储范围
作用范围:
page:只在本页面有效
request:在一个请求中有效
session:在一次会话中有效
application:在一次服务有效
useBean运行原理:先检查对应作用域中是否已经存在有实例化的对象,如果存在,直接使用已经存在的实例,如果没有在根据class中的路径,实例化新的对象,再把新对象存如作用域
写法1:
name:javabean的对象名
property:name属性名会通过反射找到对应的set方法进行赋值
value:存的值
写法2:
注意:要求表单控件的name属性值必须和 javabean属性值一一对应
写法3:
name:javabean的对