javaweb_jsp

JavaWeb 是基于请求和响应来开发的。

请求是指客户端给服务器发送数据,叫请求 Request。
响应是指服务器给客户端回传数据,叫响应 Response。
请求和响应的关系:请求和响应是成对出现的,有请求就有响应。
在这里插入图片描述
web资源分类:
静态资源: html、css、js、txt、mp4 视频 , jpg 图片
动态资源:jsp 页面、Servlet

tomcat服务器与Servlet版本的对应关系
在这里插入图片描述
Tomcat使用:安装
找到你需要用的 Tomcat 版本对应的 zip 压缩包,解压到需要安装的目录即可。

目录介绍:

bin 			专门用来存放 Tomcat 服务器的可执行程序 
conf 			专门用来存放 Tocmat 服务器的配置文件 
lib 			专门用来存放 Tomcat 服务器的 jar 包 
logs 			专门用来存放 Tomcat 服务器运行时输出的日记信息 
temp 		专门用来存放 Tomcdat 运行时产生的临时数据 
webapps 		专门用来存放部署的 Web 工程。 
work 		Tomcat 工作时的目录,用来存放 Tomcat 运行时 jsp 翻译为 Servlet 的源码,和
Session 钝化的目录。

启动tomcat:

找到 Tomcat 目录下的 bin 目录下的 startup.bat 文件,双击,就可以启动 Tomcat 服务器。
打开浏览器,在浏览器地址栏中输入以下地址测试: 
1、http://localhost:8080 
2、http://127.0.0.1:8080 
3、http://真实 ip:8080

常见的端口号:

Mysql 默认的端口号是:3306 
Tomcat 默认的端口号是:8080
端口号的范围是;1-65535  		修改完端口号:一定要重启tomcat服务器
HTTP 协议默认的端口号是:80

Tomcat常见的错误码:

200:一切正常
300/301: 页面重定向 (跳转)
404:资源不存在 
403:权限不足 (如果访问a目录,但是a目录设置 不可见)
500:服务器内部错误(代码有误)

在项目/WEB-INF/web.xml中设置 默认的 初始访问页面

 <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

如何部署web工程到tomcat中
第一种部署方法:只需要把 web 工程的目录拷贝到 Tomcat 的 webapps 目录下即可。
1.在 webapps 目录下创建一个 book 工程:
在这里插入图片描述
把项目拷贝进该目录下 比如polo-360项目,访问该项目
localhost:8080/book/polo-360/index.html

第二种部署工程的方法
在这里插入图片描述
访问localhost:8088/abc/index.html启动项目需要重启服务器。

html 页面到浏览器和在浏览器中输入 http://ip:端口号/工程名/访问的区别
在这里插入图片描述
观察上图,我们发现它使用的协议是file://协议
File协议表示告诉浏览器直接读取file:协议后面的路径。解析展示在浏览器上即可。

Http://localhost:8088/book/polo-360/index.html

在这里插入图片描述

http://ip:port/ 			====>>>> 		没有工程名的时候,默认访问的是 ROOT 工程。 
http://ip:port/工程名/ 		====>>>> 	没有资源名,默认访问 index.html 页面。

tomcat配置虚拟路径:默认访问webapps目录
a.方式1:将web项目配置到 webapps以外的目录

conf/server.xml中配置

在这里插入图片描述

docBase:实际路径 
path:虚拟路径  (绝对路径、相对路径【相对于webapps】)
重启tomcat服务器

b.方式2
D:\study\apache-tomcat-8.5.30\conf\Catalina\localhost中新建 “项目名.xml”中新增一行:

<Context  docBase="D:\study\JspProject"  path="/JspProject"   />

域名解析
在这里插入图片描述
JSP执行流程
jsp- java(Servlet文件) -class
D:\study\apache-tomcat-8.5.30\work\Catalina\localhost\JspProject\org\apache\jsp

Jsp 和Servlet 可以相互转换

因为第一请求服务端 会有翻译 和编译的过程,因此比较慢; 后续访问 可以直接访问class,因此速度较快。
但是 如果 服务端修改了代码,则再次访问时  会重新的翻译、编译。

在这里插入图片描述
在这里插入图片描述

在Eclipse中创建的Web项目的目录权限:
浏览器可以直接访问 WebContent中的文件,
例如http://localhost:8888/JAVAPro/index3.jsp
其中的index3.jsp就在WebContent目录中;
但是WEB-INF中的文件  无法通过客户端(浏览器)直接访问,只能通过请求转发来访问。

注意:并不是 任何的内部跳转都能访问WEB-INF;原因是 跳转有2种方式:请求转发 、重定向。

配置tomcat运行时环境

jsp<->Servlet                                          
a.将tomcat/lib中的servlet-api.jar加入项目的构建路径
b.右键项目->Build Path -> Add library ->Server Runtime

部署tomcat
在servers面板 新建一个 tomcat实例 , 再在该实例中 部署项目(右键-add)
之后运行。
统一字符集编码

a.编码分类:
设置jsp文件的编码(jsp文件中的pageEncoding属性):  jsp -> java        
设置浏览器读取jsp文件的编码(jsp文件中content属性)
一般将上述设置成 一致的编码,推荐使用UTF-8
文本编码:
	i.将整个eclipse中的文件 统一设置 (推荐)
	ii.设置 某一个项目
	iii.设置单独文件

JSP的页面元素:
HTML 、 java代码(脚本Scriptlet)、指令、注释

a.脚本Scriptlet
	i.    
		<%
				局部变量、java语句
		%>
	ii.
		<%!
				全局变量、定义方法
		%>
	iii.
		<%=输出表达式 %>
一般而言,修改web.xml、配置文件、java  需要重启tomcat服务
但是如果修改 Jsp\html\css\js ,不需要重启

注意,out.println()不能回车; 要想回车:“<br/>”,即out.print() <%= %> 可以直接解析html代码
b.指令
page指令

<%@ page  ....%>
page指定的属性:
language:jsp页面使用的脚本语言
import:导入类

pageEncoding:jsp文件自身编码  jsp ->java
contentType:浏览器解析jsp的编码
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"  import="java.util.Date" %>
c.注释
	html注释<!-- -->  ,可以被客户 通过浏览器查看源码 所观察到
	java注释//     /*...*/
	jsp注释<%-- --%>

JSP九大内置对象(自带的,不需要new 也能使用的对象)

out:输出对象,向客户端输出内容
request:请求对象;存储“客户端向服务端发送的请求信息”
request对象的常见方法:
String getParameter(String name) :根据请求的字段名key (input标签的name属性值) ,返回字段值value (input标签的value属性值)
String[] getParameterValues(String name): 根据请求的字段名key ,返回多个字段值value  (checkbox)
void setCharacterEncoding("编码格式utf-8") :设置post方式的请求编码  (tomcat7以前默认iso-8859-1,tomcat8以后改为了utf-8getRequestDispatcher("b.jsp").forward(request,response) ;  :请求转发 的方式跳转页面A -> B
ServletContext getServerContext():获取项目的ServletContext对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值