jsp (1)
一、jsp介绍:
jsp是servlet的一种包装。是html+js+css+servlet。
jsp文件无需配置,如果修改了jsp文件不需要reload应用。
jsp访问方法:直接访问文件名.jsp文件
jsp是一种动态网页技术。
二、语法:
注释:<%-- --%>
1、指令元素:
(1)page指令:
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
(2)include指令:
用法:<%@include file="filename" %>
2、脚本元素:
(1)表达式:
java片段:
<%=100%>
<%= %> //相当于out.println()
(2)声明:
<%! int i=90;%>
声明变量:
<%! public int i;%>
声明函数:
<%! public int info(){} %>
(3) 动作元素:
跳转元素:<jsp:forward page="/he.jsp"></jsp:forward>
动态引入:<jsp:include file=''></jsp:include>
与静态引入区别:静态引入是将两个jsp文件翻译成一个servlet,所以被引入的文件不要包含<body><html>等标签。
但动态引入不同,把两个jsp文件分别编译,所以被引入的可以包含<html>等标签。
3、开发规范:开发的jsp页面不能放在web-root下,而是应该放到web-inf文件夹下去(Tomcat会对web-inf文件夹进行保护)因此用一个入口页面的 jsp:forward方法来访问。
三、jsp的编译指令:
1、page指令:
2、include指令:
<%@include file="" %>
用于静态引用其他的文件。
四、动作指令:
1、jsp:forward :用于执行页面跳转。
五、jsp九大内置对象:
1、application 是javax.servlet.ServletContext的实例。
2、config:用得少,可以不用了解。
3、exception:
4、out:javax.servlet.jsp.JspWriter()的实例,代表jsp页面的输出流。
5、request:HttpServletRequest的实例。
- getparameter(String paramatername) //获取其中一个参数的值
- getParameterMap() //获取所有的参数的键值对
- getRequestDispatcher("/a.jsp").include(request,response) //将a.jsp页面include到本页面
- getRequestDispatcher("/a.jsp").forward(request,response) //将本页面请求forward到a.jsp页面,执行跳转操作
6、response:HttpServletResponse的实例。
(1)执行重定向操作:
一般情况下重定向操作是在控制器中执行的。
sendRedirect(String path)
(2)增加cookie信息:
1 //服务器端代码
2 Cookie c=new Cookie("cookiename",name); //新建cookie,名字,值
- c.setMaxAge(24*3600);
- response.addCookie(c);
- //客户端代码
- //获取浏览器访问访问服务器时传递过来的cookie数组
- Cookie[] cookies = request.getCookies();
- //如果用户是第一次访问,那么得到的cookies将是null
- if (cookies!=null) {
- out.write("您上次访问的时间是:");
- for (int i = 0; i < cookies.length; i++) {
- Cookie cookie = cookies[i];
- if (cookie.getName().equals("lastAccessTime")) {
- Long lastAccessTime =Long.parseLong(cookie.getValue());
- Date date = new Date(lastAccessTime);
- out.write(date.toLocaleString());
- }
- }
- }else {
- out.write("这是您第一次访问本站!");
- }
7、session:HttpSession的实例,代表了一次会话。
(1)一次会话:指客户端浏览器连接服务器开始,到客户端浏览器与服务器断开连接为止,就是一次会话。
(2) 常用方法:
setAttribute(String name,Object value)
getAttribute(String name)
(3)注意:
session存在的目的主要是说为了保存与用户会话状态相关的信息。如果仅仅为了两个页面之间交换信息的话,可以将数据保存在request中进行传递。
而且要求session的属性值必须是序列化的对象,否则保存会出现错误。
jsp (1)的更多相关文章
- Servlet+JSP(三):第一个Web程序
Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...
- Jsp(3):内置对象和四种域对象的理解
由来:在jsp开发中,会频繁使用到一些对象 .例如HttpSession,ServletContext,ServletContext,HttpServletRequet.所以Sun公司设计Jsp时,在 ...
- JavaWeb学习笔记之JSP(二)
1.1. JSP的指令: 1. 什么是JSP 指令? JSP 指令: JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的 ...
- JavaWeb学习笔记之JSP(一)
1. JSP: 1.1. 为什么需要 JSP ? 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,但是其中的静态网页内容也需要程序员使用Java语言来进行输出,这就造成了大量代码的冗余 ...
- JSP(一)
开宗明义:JSP本质上就是一个Servlet scriplet JSP 变量和函数的声明 局部变量 <% int a = 3;> 全局变量和函数 <%! int a = 3;> ...
- Java基础——JSP(一)
一.JSP的由来 在很多动态网页中,绝大多部分内容是不变的,只有局部内容需要动态产生和改变.例如, 一个新闻的浏览次数,只有这个次数是动态改变的,而Servlet程序返回客户端的代码全是java程序动 ...
- 什么是JSP (转)
http://blog.csdn.net/javaloveiphone/article/details/7937170 一.什么是JSP(JavaServer Pages),原来是没有jsp的,只有s ...
- Java Web学习总结(8)JSP(二)
一,JSP中的九个内置对象 名称 类型 描述 out javax.servlet.jsp.JspWriter 用于页面输出 request javax.servlet.http.HttpServlet ...
- Java Web学习总结(7)JSP(一)
一,JSP基础语法 1,JSP模板元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 2,JSP脚本片段 JSP脚本片断(scrip ...
随机推荐
- vue router 根据不同的id切换链接界面不刷新
我们一般使用vue的router时候会根据不同的id来切换界面,但是界面没有立刻刷新.下面我们讲下如何解决这个问题. html: <template> <div id="a ...
- 前端知识点总结(HTML)
前端知识点总结(HTML) 一,头部常用的标签 1,link标签 (1),设置ico图标 <link rel="shortcut icon" href="favi ...
- 6 基于Servlet 的分页
实现上图的分页功能,每页显示3条数据,每页显示3页供用户访问,点击左右双箭头时,可以跳转至上一个或者下一个大页,如点击右双箭头显示如下: 1 连接数据库的工具类 package com.latiny. ...
- mysql异常:Packet for query is too large (10240 > 1024). You can change this value
出现这个问题的原因是:mysql的配置文件中 max_allowed_packet 设置过小,mysql根据配置文件会限制server接受的数据包大小. 还有人会说我操作的数据量明显没有超过这个值为啥 ...
- Chrome浏览器的版本查看 以及V8 javascript 引擎版本查看
1. 发现chrome浏览器最新版本里面带的V8 引擎 版本号与chrome的版本号有一个关系, 这里简单总结一下: 在地址栏里面输入: chrome://version 即可显示出来 比如我正在使用 ...
- Notepad++ 安装 NppFTP 插件
How to install a plugin The plugin (in the DLL form) should be placed in the \plugins subfolder of t ...
- Django--权限信息操作
一 . 权限控制 表结构的设计 rbca(Role Based Access Control) 基于角色的权限控制 3个model 5张表 class User(models.Model): # ...
- Js--String、Date、Array对象
/* * String 对象 属性 length 方法 */ //String的length属性 var strL = "abcde"; document.write(" ...
- LODOP打印超文本中部分文字消失的一种情况1
如果有两对空span,第一对里面是空格,第二对里面是文字,在这两对span标签之间的文字会消失. <span> </span>文字<span>文字</span ...
- css的特性
一.继承性: 继承是一种规则,它允许样式不仅应用于某个特定html标签元素,而且应用于其后代. /* 不具有继承性的css样式: */p{border:1px solid red;} 二.特殊性(优先 ...