JSP
jsp(javascript page)服务端脚本语言,用于写动态网页。就是可以在html中写java代码。
执行过程:
第一次访问:jsp -> java(servlet文件) -> .class
第二次访问:直接访问.class文件
tips:所以第一次访问网页都比较慢,后面后好点了,如果服务端代码修改时,服务器会重新编译。
架构
CS:Client Server
BS:Browser Server
内容较多,可查看:cs和bs架构的区别
tomcat服务器
目录结构:
bin:可执行文件都放在这(startup.bat开启服务器 shutdown.bat关闭服务器)
只有开启了服务器才能够访问部署在tomcat的网页
conf:(configure)配置文件都放在这
lib:tomcat依赖的jar文件
log:日志文件
temp:临时文件
webapps:可执行的项目(一般我们的项目都放在这里面)
work:存放由jsp翻译成java以及编译后的class文件
常见状态码
200:一切正常
404:资源不存在
403:权限不足
3开头:重定向
5开头:服务器内部出错(一般是代码写错)
虚拟路径
先来看看conf/server.xml文件中常用的一些配置吧
很多人不知道去哪里看自己设置的端口号或者想要自己重新设置端口号,这里就可以解决你的问题!
那我们再来看看一张图:
所以我们在输入url的时候需要localhost:端口号/文件夹/文件名
<welcome-file-list>
服务器一开始是怎么知道哪些文件是默认文件的呢?
原来在WEB-INF/web.xml中设置了 默认的 初始页面
<welcome-file-list>
<!--你也可以添加一些默认的初始页面-->
<welcome-file>index.jsp</welcome-file>
<welcome-file-list>
当你输入localhost:端口号时,服务器会先在这里找文件,如果没有找到就404
JSP中写java代码
<%@ %>、<% %>,<%= %>,<%! %>跟<%-- --%>标签
<%@ page %>
称为page 指令
其属性:
language: 指定jsp页面使用的脚本语言
import: 导入类
pageEncoding: 指定jsp文件本身的编码
contentType: 指定浏览器解析jsp的编码
<% %>
此标签内可编写java代码以及定义局部变量
<% // 这里定义局部变量,常规java代码
init(9);
for(int i = 0; i < 3; i++){
// 换行用<br/>
out.print(i*i + "<br/>");
%>
<%= %>
称为输出表达式 功能与out.print()等价
<%=
// 可以在这里写一些简单的表达式
"你好啊" + name
%>
<%! %>
一般在此定义全局变量,方法
<%!
public String name;
public void init(int n){
name = "codekiang" + n;
}
%>
注意:out.print()以及输出表达式可以解析html标签
<%-- --%>
注释标签,跟其他语言的注释功能一样
<%--
<%@ page %> => page 指令
--%>
到了这里,一些代码你就可以得心应手的写出来啦。那么如果遇到需要在java代码中写html标签那该怎么办呢?
我们可以这样做:
<% // 这里定义局部变量,常规java代码
for(int i = 0; i < 3; i++){
out.print("啊杭好帅")
%>
<h2>CodeKiang好帅</h2>
<% }%>
这是我们可以把java代码用<% %>
分开来,中间写html标签。是不是觉得很神奇啊。