系统架构包含:C/S架构,B/S架构
C/S架构:Client/Server,例如:QQ;特点:需要安装特定的客户端软件。
B/S架构:Browser/Server,采用请求/响应模式进行交互,实际上还是一个C/S模式,只不过此C为固定浏览器。
步骤:
URL:
Web服务器:
是可以向发出请求的浏览器提供文档的程序
提供网上的信息浏览器服务
常用Web服务器:
Microsoft:IIS
Apache:Tomcat
Oracle:WebLogic
IBM:WebSphere
Nginx
Tomcat服务器:
特点:
Apache Jakarta的开源项目,
轻量级应用服务器,
开源、稳定、资源占用小
目录结构:
| 目录 | 说明 |
|---|---|
| /bin | 存放各种平台下用于启动和停止Tomcat的脚本文件 |
| /conf | 存放Tomcat服务器的各种配置文件 |
| /lib | 存放Tomcat服务器所需的各种JAR文件(自己的jar包) |
| /logs | 存放Tomcat的日志文件 |
| /temp | Tomcat运行时用于存放临时文件 |
| /webapps | 当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中 |
| /work | Tomcat把由JSP生成的Servlet放于此目录下 |
配置Tomcat:
默认端口号:8080
通过配置文件server.xml修改Tomcat端口号
启动Tomcat
停止Tomcat:bin\shutdown.bat
Tomcat server.xml文件Connector参数说明
maxThreads 客户请求最大线程数
minSpareThreads Tomcat初始化时创建的socket 线程数
maxSpareThreads Tomcat连接器的最大空闲socket 线程数
enableLookups 若设为true, 则支持域名解析,可把ip 地址解析为主机名
redirectPort 在需要基于安全通道的场合,把客户请求转发到基于SSL 的redirectPort 端口
acceptAccount 监听端口队列最大数,满了之后客户请求会被拒绝(不能小于maxSpareThreads )
connectionTimeout 连接超时
minProcessors 服务器创建时的最小处理线程数
maxProcessors 服务器同时最大处理线程数
URIEncoding URL统一编码
运行在服务器端的Java页面,使用HTML嵌套Java代码实现
工作原理:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
HTML中标签,也是页面本身的编码,可用于静态页面
< %@page% >用来设置一个JSP页面的属性以及导包
导包:
<%@ page import="java.util.Date"%>
<%out.print();%>或<%out.println();%>实现页面输出
JSP可以添加的注释
HTML注释:
JSP注释:<%–JSP注释–%>
JSP脚本中注释:<%//单行注释%> 、<%/* 多行注释 */%>
JSP中声明和使用变量:
<%String title="谈北京精神";%>
<%=%>实现页面输出:
<%=title%> //title后面不可以加分号
输出转义符:
<%="谈\"北京精神\""%>
<%%>
叫做脚本片段,写的内容会翻译在Servlet的Service方法中,所以我们可以在Service方法中定义局部变量或调用其他方法,但不可定义方法。
<%! %>
称作声明,其中写的内容直接翻译在Servlet类中,在类中我们可以定义方法和属性以及全局变量,所以在<%! %>中声明方法、属性、全局变量。
强调JSP一次编译,重复请求时,不用重新编译。同时强调下动态的过程
使用<%%>声明局部变量、使用<%!%>声明全局变量
客户端发起请求调用一个 .jsp 界面,Tomcat找到调用的 .jsp 文件翻译成 .java 文件,再将java文件编译class文件,class再给服务器(JVM)输出。
常见错误
404错误—找不到访问的页面或资源
运行时,URL输入错误
将页面放在WEB-INF下
外部启动Tomcat,未部署项目
500错误----JSP页面代码有误
页面无法显示:未启动Tomcat
**自定义报错页面:**在web.xml中使用< error-page>标签,添加自定义的报错页面
<error-page>
<error-code>500error-code>
<location>/500.htmllocation>
error-page>
<error-page>
<error-code>404error-code>
<location>/404.htmllocation>
error-page>
page指令:通过属性定义了JSP的特性,实现与JSP容器的通信
<%@ page language="属性值" import="属性值" contentType="属性值"%>
| 属性 | 说明 |
|---|---|
| language | 指定JSP页面使用的脚本语言 |
| import | 通过该属性来引用脚本语言中使用到的类文件 |
| contentType | 用来指定页面的MIME类型,以及字符编码方式 |
例:
<%@ page language="java" contentType="text/html; charset=utf-8"
pageEncoding="utf-8"%>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
out对象:
out对象的方法:
| 属性 | 说明 |
|---|---|
| 向页面输出显示 | |
| println | 向页面输出显示,在结尾处添加换行 |
练习:
<%! public void add(){
}
%>
<%
add(); /* 调用方法 */
String name ="张三"; /* 定义变量 */
%>
<%=name %>
<%
List list = new ArrayList();
list.add("AAA");
list.add("BBB");
list.add("CCC");
for(int i=0; i
- <%=list.get(i)%>
<%};%>