程序架构
pc端程序架构分类:
C/S架构程序:
通过客户端程序访问服务器
客户端---服务器
B/S架构程序:
通过浏览器访问应用程序
B/S架构采用请求/响应模式进行交互
浏览器---服务器
URL
计算机通过统一资源定位符实现资源访问
URL:Uniform Resource Locator的缩写
唯一能识别Internet上具体的计算机、目录或文件夹位置的命名约定
http :// www.bdqn.cn / news / 201409 / newslist.jsp ? page=6
http:协议 www.bdqn.cn:主机地址
/ news / 201409 / newslist.jsp :目标资源地址 ? page=6:传递的参数
Web服务器
Web服务器
是可以向发出请求的浏览器
提供文档的程序提供网上的信息浏览服务
常用的Web服务器
Microsoft:IIS
Apache:Tomcat
Oracle:WebLogic
IBM:WebSphere
Nginx
Tomcat服务器
Apache Jakarta的开源项目
轻量级应用服务器
开源、稳定、资源占用小
目录 | 说明 |
---|---|
/bin | 存放各种平台下用于启动和停止Tomca的脚本文件 |
/conf | 存放Tomcat服务器的各种配置文件 |
/lib | 存放Tomcat服务器所需的各种JAR文件 |
/logs | 存放Tomcat的日志文件 |
/temp | Tomcat运行时用于存放临时文件 |
/webapps | 当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中 |
/work | Tomcat把由JSP生成的Servlet放于此目录下 |
通过conf下配置文件server.xml修改Tomcat端口号 <Connector port = "81" protocol = "HTTP/1.1" connectionTimeout = "20000" redirectPort = "8443" />
修改web项目初始化启动页面
在web下WEB-INF,web.xml添加如下代码
<!--初始化启动页面--> <welcome-file-list> <welcome-file>/1.html</welcome-file> </welcome-file-list>
配置Tomcat
默认端口号:8080
通过配置文件server.xml修改Tomcat端口号
启动Tomcat
bin\startup.bat
访问Tomcat主页:http://localhost:端口号
停止Tomcat
bin\shutdown.bat
部署静态网站
JSP页面
JSP(Java Server Pages)
(HTML+JS+CSS+JAVA)
运行在服务器端的Java页面
使用HTML嵌套Java代码实现
工作原理
Java代码 —嵌入—> JSP页面 —编译、执行—> 服务器端(数据交互)—返回页面信息—> 客户端
JSP--->翻译Java文件(Servlet)--->编译Class文件
脚本语言
使用<% Java代码 %>
page指令 contentType文档类型和编码 language使用语言 <%@ page contentType="text/html;charset=UTF-8" language="java" %> 引入java包 <%@ page import="com.hz.StudentServer" %> 注释 <%-- 注释 --%> 向页面输出 <% out.print(内容);%> 或 <%=变量 %> 方法定义 <%!方法 %>
Web程序常见错误:
404错误---找不到访问的页面或资源
运行时,URL输入错误
将页面放在WEB-INF下
外部启动Tomcat, 未部署项目
500错误---JSP页面代码有误
JSP野蛮代码有错误
页面无法显示
未启动Tomcat
错误替换
在web.xml下
<error-page> <error-code>404</error-code> <location>/404.html</location> </error-page> <error-page> <error-code>500</error-code> <location>/500.html</location> </error-page>
<%@page%>
用来设置一个JSP页面的属性
<%out.print();%>
或<%out.println(); %>
实现页面输出
JSP可以添加的注释
HTML注释:<!--HTML注释-->
JSP注释:<%--JSP注释--%>
JSP脚本中注释:<%//单行注释%>``<%/*多行注释*/%>
JSP中声明和使用变量。如:<%String title="谈北京精神";%>
<%=%>实现页面输出。如: <%=title%>
常见错误:<%=title; %>
使用%@page%导包。如: <%@page import="java.util.Date"%>
输出转义字符。如:<%="谈"北京精神""%>
JSP执行过程
静态web
静态web存在的缺点
1.Web页面无法动态更新,所有用户看到都是同一个页面
-
轮播图,点击特效:伪动态
-
JavaScript[实际开发中,它用的最多]
-
VBScript
2.它无法和数据库交互(数据无法持久化,用户无法交互)
动态web
缺点:
-
加入服务器的动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布;
-
停机维护
优点:
-
Web页面可以动态更新,所有用户看到都不是同一个页面
-
它可以与数据库交互(数据持久化:注册,商品信息,用户信息………)
JSP九大内置对象
输入输出对象:out对象、response对象、request对象 通信控制对象:pageContext对象、session对象、application对象 Servlet对象: page对象、config对象 错误处理对象:exception对象
out对象:用于向客户端、浏览器输出数据。
request对象:封装了来自客户端、浏览器的各种信息。
response对象:封装了服务器的响应信息。
exception对象:封装了jsp程序执行过程中发生的异常和错误信息。
config对象:封装了应用程序的配置信息。
page对象:指向了当前jsp程序本身。
session对象:用来保存会话信息。
application对象:代表了当前应用程序的上下文。
pageContext对象:提供了对jsp页面所有对象以及命名空间的访问。
JSP四大作用域
page域
即pageContext。page对象的作用范围仅限于用户请求的当前页面。如果把变量放到pageContext里,就说明它的作用域page,它的有效范围只在当前jsp页面里。
request域
request里的变量可以跨越forward前后的两页。但是只要刷新页面,它们就重新计算了。如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。因为请求对象对于每一个客户请求都是不同的,所以对于每一个新的请求,都要重新创建和删除这个范围内的对象。主要用于一次请求在不同页面间的操作及参数传递,如表单的参数传递。
session域
如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话,即从用户打开浏览器开始,到用户关闭浏览器这中间的过程。session的生命周期是在服务器正常的情况下,在第一次调用request.getSession()方法时到程序调用HttpSession.invalidate()销毁该session时结束。当然你也可以在网页F12控制台删除session。主要是网站用户的信息。
application域
application即是ServeltContext,它的有效范围是整个应用,即整个web适用。ServletContext生命周期在服务器启动时创建,在服务器关闭时销毁。主要用于每个用户都可以访问的数据或多个客户端共享的数据
作用域从小到大为
PageContext(jsp页面)
ServletRequest(一次请求)
HttpSession(一次会话)
ServletContext(整个web应用)
名称 | 作用域 |
---|---|
page | 在当前页面有效 |
request | 在当前请求中有效 |
session | 在当前会话中有效 |
application | 在所有应用程序中有效 |