JSP的重点解析:
1、动态网站:网页文件里包含了程序代码,通过后台数据库与WEB服务器的信息交互,由后台数据库提供实时数据更新和数据查询服务。
2、JSP页面元素包括:小脚本、表达式、声明、page指令、注释
3、B/S:浏览器端/服务端
C/S : 客户端/浏览器端
4、URL:Uniform Resource Locator的缩写,代表“统一资源定位符”,即我们常说的网址
URL是唯一能识别Internet上具体的计算机、目录或文件夹位置的命名约定
5、
6、创建、部署和发布项目
编写Web应用的代码
在webapps目录下创建应用文件目录
将创建的页面复制到应用目录下
启动Tomcat服务并进行访问
7、JSP中的注释
HTML的注释:<!-- html注释-->
JSP注释:<%-- JSP注释--%>
在JSP脚本中注释:<% //单行注释 %>
<% /*多行注释 */ %>
8、JSP 页面元素:
静态内容:HTML静态文本
指 令:以“<%@ ” 开始,以“%> ” 结束
小脚本:<%Java代码 %>
表达式:<%=Java表达式 %>
声明:<%! 方法 %>
注释 :<!-- 客户端可以查看到 -->
<%-- 客户端不能查看到 --%>
9、常见错误:
1)未启动Tomcat
排除错误:
启动Tomcat服务
如果控制台上显示Tomcat服务已启动,观察端口号是否与预期端口号一致,按照实际端口号重新运行
2)未部署Web应用
排除错误:部署Web应用
3)URL输入错误
排除错误:使用正确的URL
4)目录不能被引用
排除错误:把index.html文件拖至WebRoot文件夹下
Jsp数据交互(一)
1、JSP内置对象:JSP内置对象是 Web 容器创建的一组对象
2、常用的JSP内置对象:
Out:输出
Request:要求
Response:响应
Session:会话
Application:应用
①request对象主要用于处理客户端请求
request对象常用方法:
Eg:中文乱码处理:
//获取表单用户名和密码,通过获取name属性值
String name = request.getParameter("name");
String pwd = request.getParameter("pwd");
// 以POST方式提交数据时
//设置读取请求信息的字符编码为UTF-8
request.setCharacterEncoding("utf-8");
// 以GET方式提交数据时
//读取用户名和密码
String name = request.getParameter("name");
//对请求数据进行字符编码
name = new String(name.getBytes("ISO-8859-1"), "utf-8");
②response对象用于响应客户请求并向客户端输出信息
response 对象常用方法:
void sendRedirect (String location):将请求重新定位到一个不同的URL,即页面重定向
Eg:
response.sendRedirect("welcome.jsp");
*页面的转发:
转发的作用:在多个页面交互过程中实现请求数据的共享
转发的实现:RequestDispatcher对象.forward()方法
Eg:
<%
//转发
RequestDispatcher rd=
request.getRequestDispatcher("welcome.jsp").rd.forward(request,response);
%>
③Session:一个会话就是浏览器与服务器之间的一次通话
Session常用方法:
备注:每个session对象都与浏览器一一对应 ,重新开启一个浏览器,相当于重新创建 一个session对象(版本不同可能有所差别)
通过超链接打开的新窗口,新窗口的session与其父窗口的session相同
Session对象的失效:
手动设置失效:invalidate()
超时失效
通过setMaxInactiveInterval( )方法,单位是秒
<%
//以键值对方式保存对象值
session.setAttribute("login","admin");
//设置会话的有效时间
session.setMaxInactiveInterval(600);
//重定向
response.sendRedirect("admin.jsp");
%>
通过设置项目的web.xml或Tomcat目录/conf/web.xml 文件,单位是分钟
<session-config>
<session-timeout>10</session-timeout>
</session-config>
④include指令:
创建登录验证文件 loginControl.jsp
<%
//通过获取键值,获取内容
String login = (String) session.getAttribute("login");
if (login == null)
//重定向
response.sendRedirect("index.jsp");
%>
在后台首页面中使用include指令引用登录验证文件
<%@ include file="loginControl.jsp" %>
总结:
内置对象
由Web容器加载的一组类的实例
request与response对象
request处理客户端请求
response响应客户请求
会话对象session
可以保持每个用户的会话信息,为不同的用户保存自己的数据, 存储在客户端
转发与重定向的区别:
要求转发:request.getRequestDispatcher("welcome.jsp").rd.forward(request,response);
回应跳转:response.sendRedirect("index.jsp");
区别:转发可以访问request里面数据,用于登录页面登录后跳转到相应页面或者模块
重定向不可以访问request里面数据,用于登录不成功后返回主页面或者其他其他网页
JSP数据交互(二)
1、JSP内置对象application(应用) :
application实现用户之间的数据共享
application对象的常用方法
2、<%
//通过key获取对象
Integer count = (Integer)application.getAttribute("count");
if(count != null){
count = 1 + count;
}else{
count = 1;
}
//保存对象值
application.setAttribute("count",count);
%>
3、JSP常用内置对象:
4、作用域:
Page在一个页面范围内有效,通过pageContext对象访问
request作用域内的对象则是与客户端的请求绑定在一起
session对象作用域:一次会话
application的作用域:面对整个Web应用程序
5、cookie是Web服务器保存在客户端的一系列文本信息(不支持中文,只出现在客户端,不是内置对象,需要new)
cookie的作用:
对特定对象的追踪
统计网页浏览次数
简化登录
安全性能:
容易信息泄露
6、创建cookie对象:
Cookie newCookie = new Cookie(String key,Object value);
写入cookie
response.addCookie(newCookie);
读取cookie
Cookie[] cookies = request.getCookies();
7、
cookie对象的常用方法:
cookie与session的对比:
8、JavaBean的优势
解决代码重复编写,减少代码冗余
功能区分明确
提高了代码的维护性
9、从JavaBean的功能上可以分为:
封装数据
①私有化属性
②Set/get方法
③构造有参无参
封装业务
JavaBean的应用:
在JSP页面中导入JavaBean
//引入JavaBean
<%@ page import="org.jbit.news.bean.*" %>
//使用JavaBean
<%
Comment c = new Comment();
c.setCid(1014);
c.getCauthor();
%>