jsp – java server page 动态网页,部署再服务器下()tomcat
随时间地点改变(比如天气),和网页是否动无关
客户端cs
不足:
1.每一台客户端都要升级系统
2.维护麻烦
bs(brower server)
1. 维护简单
2.不美观
/* 1.tomcat下载 */
bin 可执行
config 配置文件
lib jar包
log 记录
webapps 开发的项目
work jsp翻译成java,经过编译器成字节码class(第一次访问较慢,需要翻译,若没有更改代码,第二次直接访问)
jsp----------java(servlet)-------------字节码class
1. 安装CATALINA_HOME 根路径
2.path--- bin
启动 bin/startup.bat 关闭 shutdown.bat
welcome 从第一个开始,没有就查下一个
/* 2.端口号被占用(bind)*/
1.查看进程 netstat -ano |find "8080"
2.taskkill /pid +进程号 -t -f
403 权限不足
404 资源不存在
500 代码写错 (空指针异常(添加个标签 input type="hidden" id="op" name="op"
在servlet中获取 getParameter("op") ),代码写错)
web-info 存放web.xml 权限高, 客户端(浏览器)看不到(需要 跳转--- 请求转发和重定向 )
在webapps下 都可以默认访问 http://localhost:8080/index.jsp
// 首页出现变红 ,tomcat运行环境问题
// 在src中拖入lib 文件中 servlet.jar 然后build path ---bin config
配置虚拟路径
方法1. 将项目部署到webapps以外 的目录
config --server.xml
host标签中
虚拟路径 相对webapps
缺陷需要重启tomcat
// 编码分类 1.整个tomcat中设置 ---preference----jsp Files 右边encoding 设置utf-8
// 2.单个工程 右击 property-----resource 右边 编码
// jsp编码(jsp文件pageEncoding ) jsp---java----class
浏览器读取jsp编码--- content
定义java形式
<%! 定义全局变量 public String name="zsls" %>
<% String id=2 ; 普通局部变量
out.print(id); %>
<%=name 表达式 不需要;结尾 %> **换行是 br,不是 println**
注释样式
1.<!-- --> html
2.// /** / java
3.<%-- --%> jsp
9大内置对象(不需要new直接使用)
1. out向浏览器输出内容
- request向服务器发送请求
常用方法
get方法编码 在server.xml中 添加URIEncoding=“utf-8”
request.setCharacterEncoding("utf-8"); // 设置post编码格式
request.getParameter(""); // 返回value
request.getParameterValues("");// 返回数组
request.getRequestDispatcher("a.jsp").forward(request,response);
//同一次请求,地址不变,获取值
3. response
response.sendRedirect() ---- 两次请求,地址跳转,获取不了第一次参数值
response 中重定向 和 请求转发区别
response:,2次请求,地址栏改变,娶不到值
request: 1次请求,地址不变,取到值
cookie 不是内置对象 需要new
服务端产生,交给客户端保存----自带jesssionid和 sessionid对应,相当于本地缓存
步骤 1. 服务端准备Cookie
Cookie cookie=new Cookie("name","zsls"); // Cookie(String ket,String value);
response.addCookie(cookie);
2. 请求转发或者重定向到 客户端jsp
respnose.sendRedirect("show.jsp");
客户端 得到cookie数组(不能单独获取cookie对象)
Cookie[]cookies=request.getCookies();
遍历输出 for(Cookie cookie:cookies){
out.print(cookie.getName()+"-----"+cookie.getValue() +"<br>");
}
4.session
是会话,一次开始–一次结束就是session,不同浏览器就是新的session
运行机制:
客户端向服务端第一次发送请求,产生一个session对象,session对象自带SessionId,
然后赋值一份JessionId给客户端的Cookie对象保存,一一对应。
.
方法:
1.getId()获取Se's'si'o'nId
2. session.invalidate();用于注销,退出登录
然后返回到jsp重定向回去login.jsp
4. session.setAttribute("key",name);
session.setAttribute("pass",password);
接着跳转
然后 获取session.getAttribute("key");
5.application
<%="项目虚拟路径"+application.getContextPath()%>
<%="绝对路径"+application.getRealPath("/颜群") %>
6.request,session,application作用域
1. request 同一次请求,重定向不行,当前jsp页面才可以获取
2. session同一个浏览器客户端都可以
3. application 整个运行期间,相当于全局变量