一、JSP动态网页
1.1. 区分动静态网页
注意:不要和是否具有“动感”混为一谈
动态网页:随着时间、地点、用户操作的改变而改变;动态网页还需要使用到服务端脚本语言(JSP)
1.2. 架构
1.2.1. CS
CS:Client Server(客户服务)
将软件分成两大部分:客户端和服务端
优势:
a. 响应速度快
b. 美观
不足之处:
a. 如果软件升级,那么全部的软件都需要升级
b. 维护麻烦:需要维护每一台客户端软件
c. 每一台客户端都需要安装客户端软件
举例:微信、QQ、CS游戏
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BbICSTw9-1587476567264)(https://i.loli.net/2019/09/30/yRQr5kfUqmV6W7c.png)]
1.2.2. BS
BS:Broswer Server(浏览器服务)
客户端可以通过浏览器直接访问服务端
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hKlTeW5x-1587476567268)(https://i.loli.net/2019/09/30/OuNPB5w2qGSTEgy.png)]
二、Tomcat
2.1. 目录
- bin 可执行文件(脚本,启动,停止)
- conf 配置文件夹,配置端口可以在此处文件夹下的
server.xml
进行配置 - lib tomcat依赖的jar包
- logs 日志文件(记录出错等信息)
- temp 临时文件夹
- webapps 开发项目放置的基础路径
- work 存放由JSP翻译成的Java,以及编辑成的class文件(JSP -> Java -> Class)
2.2. 配置Tomcat
a. 配置JDK、JRE (在 startup.bat
中 setlocal 的上面进行配置)
REM 这里的JAVA_HOME和JRE_HOME分别是电脑中Java和Jre文件所在的位置
set JAVA_HOME=C:/Program Files/Java/jdk1.8.0_144
set JRE_HOME=C:/Program Files/Java/jre1.8.0_144
b. 配置catalina_home(配置数据为Tomcat位置)
常见错误:可能与其他服务的端口号冲突
tomcat端口号默认为8080(此端口号较为常见,容易冲突),建议修改此端口(8888)或者杀死电脑的8080端口
2.2.1. 修改Tomcat的端口号
在tomcat目录下的conf内server.xml文件中大概70行处可修改,将端口号修改为8888
<!-- 在port里修改即可 -->
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
2.2.2. 在windows中杀死进程
使用命令netstat -ano|findstr "80"
查看端口占用情况
使用命令查看pid对应的应用程序tasklist|findstr "1828"
使用命令结束该程序taskkill /f /t /im java.exe
或者通过pid来终止taskkill /f /pid 1828
2.2.3. 访问Tomcat
点击bin目录下的startup.bat文件或者使用命令工具输入startup即可开启Tomcat
在浏览器上输入localhost:自己设置的端口号
即可跳转到本地的tomcat,并且其展示的是在tomcat目录下的webapps
文件中的root
文件夹
- 跳转到其他的文件目录下:
- 在其
localhost:端口号
后面输入/文件夹
即可
- 在其
- 展示的优先级:
- 在文件
/webapps/examples/WEB-INF
下的web.xml
文件中的可以设置examples
访问的优先级,即访问localhost:端口/examples
的时候网页会跳转到index.html
- 在文件
注意:所有的文件目录下都会有一个WEB-INF
文件夹,且里面有一个web.xml
文件
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.xhtml</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
2.2.3.1. 常见状态码
200:一切正常
300/301:页面重定向(跳转)
404:资源不存在
403:权限不足(如果访问a目录,但是a目录设置不可见)
500:服务器内部错误(代码有误)
2.3. Tomcat实例
在webapps
文件下创建一个新的文件夹test
并且在此文件夹中放置一个名为test的html文件
test.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>这个是一个测试</title>
</head>
<body>
<p>要将学习变成爱好!</p>
</body>
</html>
启动Tomcat然后在浏览器上输入localhost:8080/test/test.html
实现效果:
一次请求的分析
http://127.0.0.1:8080/test/test.html
请求协议:http://
请求ip:127.0.0.1
端口:8080
项目:test
资源:test.html
完整URL
URI(url是uri的子集) 资源所在地 test/test.html
三、在tomcat中使用JSP
3.1. 文件夹环境的布置
1、在webapps
中创建一个文件夹JspProject
2、在文件夹JspProject
下创建一个文件夹WEB-INF
以及一个JSP文件index.jsp
3、在文件夹WEB-INF
下创建两个文件分别为classes
(用于存放JSP解析后的class文件)和lib
(用于存放文件夹JspProject中使用到的jar包)、文件web.xml
(用于配置Filter、Listener、Servlet等)
3.2. 编写代码
JSP文件(index.jsp)
<html>
<head>
<title>My Jsp project</title>
</head>
<body>
hello jsp...
<%
out.print("hello jsp");
%>
</body>
</html>
实现效果
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ifVdy6JG-1587476567279)(https://i.loli.net/2019/09/30/tK1RcZz5usfOGN6.png)]
结论:JSP:在html中嵌套Java代码
3.3. 显现优先级
在JspProject
文件夹下创建多一个JSP文件index2.jsp
,其代码如下所示
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>My index2.jsp</title>
</head>
<body>
hello index2.jsp...
<%
out.print("index2.jsp");
%>
</body>
</html>
然后在JspProject
文件夹下的WEB-INF
文件夹下的web.xml
文件中添加:
<welcome-file-list>
<welcome-file>index2.jsp</welcome-file>
</welcome-file-list>
最后呈现的效果
结论:我们可以通过WEB-INF
目录下的web.xml设置默认的初始页面