动态网页开发基础
什么是B/S技术
B/S架构(浏览器/服务器): 程序完全部署在服务器上
B/S技术的工作原理
B/S架构采用请求/响应模式进行交互
URL
Uniform Resource Locator统一资源定位符
组成
http :// localhost:8080 / news/index.html
协议部分 主机IP地址:端口号 项目资源地址
Tomcat
简介
Apache Jakarta的开源项目 JSP/Servlet容器
Tomcat服务器的目录结构
目录 | 说明 |
---|---|
/bin | 存放各种平台下用于启动和停止Tomcat的脚本文件 |
/conf | 存放Tomcat服务器的各种配置文件 |
/lib | 存放Tomcat服务器所需的各种JAR文件 |
/logs | 存放Tomcat的日志文件 |
/temp | Tomcat运行时用于存放临时文件 |
/webapps | 当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中 |
/work | Tomcat把由JSP生成的Servlet放于此目录下 |
Tomcat的端口配置
通过配置文件server.xml修改Tomcat端口号‘’
代码语言:javascript复制<Connector port="8080"
protocol="HTTP/1.1 "
connectionTimeout="20000"
redirectPort="8443 "
/>
Web应用的目录结构
目录 | 说明 |
---|---|
/ | Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等) |
/WEB-INF | 存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问 |
/WEB-INF/classes | 存放Web项目的所有的class文件 |
/WEB-INF/lib | 存放Web应用使用的JAR文件 |
创建、部署和发布项目
1.编写Web应用的代码
2.在webapps目录下创建应用文件目录
3.将创建的页面复制到应用目录下
4.启动Tomcat服务并进行访问
配置访问页面
代码语言:javascript复制<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
</web-app>
JSP
简介
Java Server Pages
JSP中的page指令
语法
代码语言:javascript复制<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>
常用属性
属性 | 描述 | 默认值 |
---|---|---|
language | 指定JSP页面使用的脚本语言 | java |
import | 通过该属性来引用脚本语言中使用到的类文件 | 无 |
contentType | 用来指定JSP页面所采用的编码方式 | text/html, ISO-8859-1 |
out对象
out对象是JSP的内置对象
无需实例化即可使用
实现数据的输出显示
out对象的方法
属性 | 说明 |
---|---|
向页面输出显示 | |
println | 向页面输出显示,在结尾处添加换行 |
JSP中的小脚本与表达式
示例
代码语言:javascript复制<%@ page language="java" import="java.util.*,java.text.*" contentType="text/html; charset=utf-8" %>
<html>
<head><title>计算求和</title></head>
<body>
两个数的求和结果为:
<%
int numA = 4, numB = 5 ;
int result = numA numB;
%>
<%=result %>
</body>
</html>
JSP中的声明
语法
代码语言:javascript复制<%! Java代码%>
示例
代码语言:javascript复制<%@ page language="java" import="java.util.*,java.text.*"
contentType="text/html; charset=utf-8"%>
<html>
<%!
String formatDate(Date d){
SimpleDateFormat formater =
new SimpleDateFormat("yyyy年MM月dd日");
return formater.format(d);
}
%>你好,今天是
<%=formatDate(new Date()) %>
</body>
</html>
JSP中的注释
JSP注释
代码语言:javascript复制<%-- JSP注释--%>
在JSP脚本中注释
代码语言:javascript复制<% //单行注释 %>
<% /*多行注释 */ %>
小结(JSP 页面元素)
元素 | 表达方式 |
---|---|
小脚本 | <%Java代码 %> |
表达式 | <%=Java表达式 %> |
声明 | <%! 方法 %> |
| 注释 | <!-- 客户端可以查看到 --> <%-- 客户端无法查看到 --%> | | 指令 | 以“<%@ ” 开始,以“%> ” 结束 |
JSP 执行过程
1.翻译阶段
2.编译阶段
3.执行阶段
修改jsp无需重启服务器
集成开发工具创建Web项目
1.在MyEclipse中创建Web项目: File -> New -> Web Project
2.为项目命名并调整相关设置
3.查看项目目录结构
出错解决方案
- tomcat出现乱码去apache-tomcat-8.5.65conf中的logging.properties文件中修改java.util.logging.ConsoleHandler.encoding = utf-8
- jsp默认为utf-8 在jspfiles中设置utf-8
- 因为web-inf是在服务端的,客户端没有权限访问的。 WEB-INF是Java的WEB应用的安全目录。也就是客户端无法访问,只有服务端可以访问的目录。 如果想在页面中直接访问其中的文件,必须通过web.xml文件对要访问的文件进行相应映射才能访问。 WEB-INF文件夹下除了web.xml外,还存一个classes文件夹,用以放置 .class文件,这些 .class文 件是网站设计人员编写的类库,实现了jsp页面前台美工与后台服务的分离,使得网站的维护非常方便。 web.xml文件为网站部署描述XML文件,对网站的部署非常重要。 Web-Inf文件夹中除了有classes文件夹和一个web.xml文件外、还有lib文件夹(用于存放需要的jar包) (用于配置,比如说用来配置过滤器等。)
小贴士
代码语言:javascript复制request.getContextpath()//相当于到webapp根路径
Urlencoder.encode//将地址栏重新编码