一、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)的更多相关文章

  1. Servlet+JSP(三):第一个Web程序

    Servlet+JSP(三):第一个Web程序在学习了服务器并成功安装后,我们知道当浏览器发送请求给服务器后,服务器会调用并执行对应的逻辑代码进行请求处理.逻辑代 码是由程序员自己编写然后放进服务器进 ...

  2. Jsp(3):内置对象和四种域对象的理解

    由来:在jsp开发中,会频繁使用到一些对象 .例如HttpSession,ServletContext,ServletContext,HttpServletRequet.所以Sun公司设计Jsp时,在 ...

  3. JavaWeb学习笔记之JSP(二)

    1.1.  JSP的指令: 1.   什么是JSP 指令? JSP 指令: JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出, 而只是告诉引擎如何处理JSP页面中的 ...

  4. JavaWeb学习笔记之JSP(一)

    1. JSP: 1.1. 为什么需要 JSP ? 如果使用Servlet程序来输出只有局部内容需要动态改变的网页,但是其中的静态网页内容也需要程序员使用Java语言来进行输出,这就造成了大量代码的冗余 ...

  5. JSP(一)

    开宗明义:JSP本质上就是一个Servlet scriplet JSP 变量和函数的声明 局部变量 <% int a = 3;> 全局变量和函数 <%! int a = 3;> ...

  6. Java基础——JSP(一)

    一.JSP的由来 在很多动态网页中,绝大多部分内容是不变的,只有局部内容需要动态产生和改变.例如, 一个新闻的浏览次数,只有这个次数是动态改变的,而Servlet程序返回客户端的代码全是java程序动 ...

  7. 什么是JSP (转)

    http://blog.csdn.net/javaloveiphone/article/details/7937170 一.什么是JSP(JavaServer Pages),原来是没有jsp的,只有s ...

  8. Java Web学习总结(8)JSP(二)

    一,JSP中的九个内置对象 名称 类型 描述 out javax.servlet.jsp.JspWriter 用于页面输出 request javax.servlet.http.HttpServlet ...

  9. Java Web学习总结(7)JSP(一)

    一,JSP基础语法 1,JSP模板元素 JSP页面中的HTML内容称之为JSP模版元素. JSP模版元素定义了网页的基本骨架,即定义了页面的结构和外观. 2,JSP脚本片段 JSP脚本片断(scrip ...

随机推荐

  1. linux 服务器名 访问 shh免密码登录

    以根用户登录,或者登录后切换到根用户,然后在提示符下输入hostname命令,可以看出当前系统的主机名为localhost.localdomain.   更改/etc/sysconfig下的netwo ...

  2. Vue实例:演示input 和 textarea 元素中使用 v-model 实现双向数据绑定

    最终效果: 主要代码: <template> <div> <p>input 元素:</p> <input v-model="messag ...

  3. vue嵌套路由

    父组件  (注:to="/Flow/moban_a"这里不是文件加路径,是父组件路由+子组件路由) 路由配置

  4. Vue 获得所选中目标的状态(checked)以及对应目标的数据,并进行相应的操作

    一.我们现在要拿取购物车中选中商品的状态和该商品的所有数据或者id <ul v-if="shopList.list.length>0"> <li class ...

  5. idea创建maven项目的一点关键

    maven中的一些概念: POM:项目对象模型(Project Object Model),是项目的一些关键元信息的集合.主要包含项目管理信息.具体的项目描述.开发小组的构 成.源代码库(如CVS)和 ...

  6. phonegap-plugin-contentsync

    一.API 1.ContentSync.sync(options) options.src : 字符串类型  (必选项)远程托管内容的URL.更新一个生产环境下的APP,常使用HTTPS option ...

  7. 使用chcache 缓存

    在项目里碰到了表单提交和ajax访问后台取到的request对象不是同一个对象,所以不能够资源共享,问了大神决定配置一个缓存来处理这个问题. 引用jar :ehcache-core-2.5.2.jar ...

  8. 由 POST 400 错误拔出来的萝卜

    缘起 前段时间遇到扫描问题,好不容易拿到了扫描出来的数据,结果调用接口时弹了个 400(Bad request) 给我,匆匆找了点资料修补上线后,忐忑的心也可以安分点.然后,顺着这个 400 的萝卜, ...

  9. centos7优化启动项,关闭一些不必要开启的服务

    CentOS7已不再使用chkconfig 管理启动项 使用 systemctl list-unit-files 可以查看启动项 systemctl list-unit-files | grep en ...

  10. 安装.Net Standard 2.0, Impressive

    此版本的.NET Standard现在支持大约33K的API,与.NET Standard 1.x支持的14K API相比.好的是大部分API来自.NET Framework.这使得生活更容易将代码移 ...