目录
1.JSP是什么?
2.cs与bs简介
3.url的三个组成部分
4.如何修改Tomcat的默认端口号
5,为什么要基于bs架构的动态网页
6.在网页中输出当前的日期
7.web容器处理JSP文件请求需要经过的3个阶段
8.jsp的页面元素
9.page指令
10.jsp文件中的三种注释方法:
11.运行web时常见的错误
12.JSP内置对象
13.注册界面
1.JSP是什么?
JSP就是java+HTML+CSSjs的文件格式
JSP本质上就是java文件
Tomcat会把jsp文件变成Java文件
jvm(Java虚拟机)会把Java变成class文件进行编译
2.cs与bs简介
cs即client(客户端)与server(服务器)之间,它主要的特点是交互性强、具有安全的存取模式、网络通信量低、响应速度快、利于处理大量数据。但是该结构的程序是针对性开发,变更不够灵活维护个管理的难度大。而且该结构的每台客户端都需要安装相应的客户端程序,分布功能弱且兼容性差,不能快速部署安装和配置,因此缺少通用性,具有较大的局限性。
bs browser(浏览器)与server(服务器)之间,就是只需要安装维护一个服务器(server),它相对于cs的主要特点是分布性强、维护方便简单、容易开发且共享性强,但数据安全性问题,对服务器要求过高,数据的传送速度慢,这些缺点还是有目共睹的。例如:通过浏览器进行大量的数据输入或进行报表的应答、专用性打印输出都比较困难。实现复杂的应用构造有较大的困难。
常见的cs架构:QQ、微信
常见的bs架构:百度
当然还有些是兼具cs与bs架构,比如大家常见b站
3.url的三个组成部分
http(协议)://localhost(主机):8080(端口)
4.如何修改Tomcat的默认端口号
双击你的服务器
点击修改即可
若发现端口冲突怎么解决?
修改端口或者重启
5,为什么要基于bs架构的动态网页
在我们运行项目的之前
先双击我们的Tomcat服务器
注意:如果当前服务器有项目在运行要先将项目移除才能选择
进行如下选择:
保存后,我们在运行我们的项目时
我们编写的项目会被Tomcat移动到webapps中做部署
然后就会发现在webapps发布目录下会出现webo2,也就是我们新建的项目
同时,在我们的work编译目录下也会有一个web02
最终会变成Java文件
如果要运行就会变成class文件
在编译器中我们写了
打开我们的Java文件
所有在网页写的代码都会被out.write()转换为Java代码
这就是一个转换的过程,也就是说你在jsp写的jsp文件最终都会变成Java文件
6.在网页中输出当前的日期
<%@page import="java.util.Date"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
web02
<%
out.print(new Date());
%>
效果如下:
7.web容器处理JSP文件请求需要经过的3个阶段
其中你的每次请求只会编译第一次,第二次去请求的时候就会发现已经编译好了,我们不难发现很多网页第一次进去的时候需要较长时间,但是第二次就会较之前快很多 ,原因就是已经编译好了,就是这个道理。当人如果是删除了就需要重新编译。
注意:如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译
8.jsp的页面元素
9.page指令
语法:<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>通过设置内部的多个属性来定义整个页面的属性
| 属性 | 描述 | 默认值 |
| language | 指定JSP页面使用的脚本语言 | java |
| import | 通过该属性来引用脚本语言中使用到的类文件 | 无 |
| contentType | 用来指定JSP页面所采用的编码方式 | text/html, ISO-8859-1 |
10.jsp文件中的三种注释方法:
HTML的注释:缺点:不安全,加大网络传输负担 JSP注释:<%-- JSP注释--%> 在JSP脚本中注释: <% //单行注释 %> <% %>
11.运行web时常见的错误
未启动Tomcat服务,或者没有在预期的端口中启动Tomcat服务->检查Tomcat能否正常运行未部署Web应用,就试图运行Web程序->检查web应用是否正常部署运行时,URL输入错误->检查URL路径存放文件的目录无法对外引用,如:文件放入了WEB-INF、meta-INF等文件夹->检查文件的存放位置
12.JSP内置对象
JSP内置对象是 Web 容器创建的一组对象JSP内置对象的名称是JSP 的保留字JSP内置对象是可以直接在JSP页面使用的对象,无需使用“new”获取实例
例如:
没有new就能够使用的。
常见的内置对象
request常见方法
| 方法名称 | 说 明 |
| String getParameter(String name) | 根据页面表单组件名称获取页面提交数据 |
| String[ ] getParameterValues(String name) | 获取一个页面表单组件对应多个值时的用户的请求数据 |
| void setCharacterEncoding(String charset) | 指定每个请求的编码,在调用getParameter( )之前进行设定,可以解决中文乱码问题 |
| String getRemoterAddr() | 返回提交请求的客户机的IP地址 |
代码展示
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
这是处理登录请求的界面
<%
//内置用户: sa 123
//获取到用户提交的表单信息
String username = request.getParameter("username");//请求中获取数据
String password = request.getParameter("password");//请求中获取数据
//从请求中获取数据(类型全部是string,必须自己做转换)
String age = request.getParameter("age");
out.print(username + "-" + password + "-" + age);
String ts[] = request.getParameterValues("habit");//接收到多个具备相同name的值
//遍历
String my_habit = "";
for (String habit : ts) {
System.out.print(habit);//显示在控制台
my_habit += habit + ",";//字符串拼接
}
//存在数据库中应该为一个数据
out.print(my_habit);
my_habit.split(",");
//用于做登录验证
if ("sa".equals(username) && "123".equals(password)) {
out.print("登录成功");
} else {
out.print("登录失败");
}
%>
13.注册界面
信息读取界面
<%
//读取用户名和密码
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
//读取复选框选择项
String[] channels = request.getParameterValues("channel");
if (channels != null) {
for (int i = 0; i < channels.length; i++) {
out.println(channels[i]);
}
}
%>
14,当我们输出的中文是乱码应该怎么解决?
在进行页面开发时,存在多种字符集编码设置,我们只需要在页面设置支持中文字符的字符集就可以了。如:
request.setCharacterEncoding("UTF-8");
今天的分享到这啦!



