1.JSP:动态网页
静态、动态:
1.不用和是否有“动感”混为一谈
2.是否随着时间、地点、用户操作的改变而改变
动态网页需要使用到服务端脚本语言(JSP)
2.架构
CS:Client Server
CS不足:
a.如果软件升级, 那么全部软件都需要升级
b.维护麻烦:需要维护每一台客户端软件
c.每一台客户端都需要安装客户端软件
BS:Broswer Server
客户端可以通过浏览器直接访问服务端
注意:bs和cs各有优势。
3.tomcat解压后目录:
bin:可执行文件(startup.bat/shutdown.bat)
conf:配置文件(server.xml)
lib:tomcat依赖的jar文件
log:日志文件(记录出错等信息)
temp:临时文件
webapps:可执行的项目(将我们开发的项目放入该目录)
work:存放由jsp翻译成的java,以及编译成的class文件(jsp ->java ->class)
4.配置tomcat
a.配置jdk (必须配置JAVA_HOME)
java_home classPath path
b.配置catalina_home
双击bin/startup.bat启动tomacat,
常见错误:可能与其他服务的端口号冲突
tomcat端口号默认8080(此端口号较为常见,容易冲突),建议修改此端口(70行左右,8888)
5.访问tomcat
http://localhost:8888/
常见状态码:
200:一切正常
300/301:页面重定向(跳转)
404:资源不存在
403:权限不足(如果访问a目录,但是a目录设置不可见)
500:服务器内部错误(代码有误)
其他编码:积累
jsp:在html中嵌套的java代码
在项目/WEB-INF/web.xml中设置默认的初始页面
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
6.虚拟路径
a.方式一
将web项目配置到webapps以外的目录
conf/server.xml中配置
host标签中:
<Context docBase="D:\study\JspProject" path="/JspProject" />
docBase:实际路径
path:虚拟路径(绝对路径、相对路径【相对于webapps】)
重启
b.方式二
D:\study\apache-tomcat-8.5.30\conf\Catalina\localhost
中新建“项目名.xml”中新增一行:
<Context docBase="D:\study\JspProject" path="/JspProject" />
不需要重启
7.虚拟主机
通过www.test.com访问本机
a.conf/server.xml
<Engine name="Catalina" defaultHost="www.test.com">
<Host appBase="D:\study\JspProject" name="www.test.com">
<Context docBase="D:\study\JspProject" path="/"/>
</Host>
b.C:\Windows\System32\drivers\etc\host
增加
127.0.0.1 www.test.com
流程:
www.test.com -> host找映射关系 -> server.xml找Engine的defaultHost -> 通过"/"映射到D:\study\JspProject
为了后续学习,将以上恢复成默认
7.JSP执行流程
jsp- java(Servlet文件) -class
存放在D:\study\apache-tomcat-8.5.30\work\Catalina\localhost\JspProject\org\apache\jsp
Jsp和Servlet可以相互转换
因为第一请求服务端会有翻译和编译的过程,因此比较慢;
后续访问可以直接访问class,因此速度较快。
但是如果服务端修改了代码,则再次访问时会重新的翻译、编译。