博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JSP 总结
阅读量:4514 次
发布时间:2019-06-08

本文共 3269 字,大约阅读时间需要 10 分钟。

第一天:

jsp(全称Java Server Pages)

优点:

  跨平台性、易维护性、易管理性等等

实际上JSP就是指在HTML中嵌入JAVA脚本语言,当用户通过浏览器请求访问Web应用时,使用JSP容器请求对JSP进行处理,然后将生成的页面返回给客户端浏览器进行显示。

工作原理

 

执行原理

如果没有发生改变则

 

 什么是URL?

URL(Uniform Resoure Locator)统一资源定位器,是用于完整地描述Internet上网页和其他资源的地址的一种表示方法,即网址。

URL的组成

 

tomcat7.0

lib     jar
bin    命令
webapps 应用程序
work   工作目录
temp   临时文件
conf    配置文件
logs    日志文件
tomcat与myeclipse的配置

window

  showview
    console
    db brower
    package explorer
    servers

 

JSP的基本语法

指令

  <%@ import="java.sql.*"%>

  page指令

  <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

      language:java唯一值,表示脚本中使用的编程语言

      contentType:设置了内容的类型和静态页面的编码 (告诉浏览器以什么编码显示)

      pageEncoding:页面本身的编码格式 (写页面时用的编码格式)
    include指令
        把目标页面的内容包含到当前页面,产生页面叠加以后的输出效果     //相当于将两个页面合并;编译时就包含进来
        <%@include file="foot.jsp"%>                   //可插入任意位置

    taglib指令

小脚本
  <% %> 写java代码等同在index.java的service方法里写代码

  小脚本规则:

    1、 你使用的脚本语言决定了脚本小程序的规则;
    2、 语句间以分号分隔;
    3、 可以使用默认的对象、import进的类、declaration声明的方法和对象以及useBean tag中声明的对象。

声明
  <%! %>写Java代码等于在index.java类里,service方法之外写代码

  声明规则:

  1、 JSP中声明的变量和方法对应于Servlet中的实例方法和实例变量。这些将被同时请求该页面的所有用户所共享;
  2、在使用变量或方法前须先定义(不是说声明变量的位置在页面中要处于使用变量的前面,而是指变量不声明不能使用);
  3、声明的变量或方法的作用域为当前页面或包含的页面;
  4、语句间以分号分隔。
表达式
  <%= %>等同<%out.println();%>

  表达式规则: 

    1、你使用的脚本语言决定了脚本小程序的规则;
    2、执行的顺序为从左到右;
    3、分号不能用于表达式。

注释
  jsp<%--内容--%> 不会被翻译
  html<!--内容--> 不会显示
  java注释:// /* */ 不会被编译

第二天:request && response

request是客户端发向服务器端的请求,response是服务器端对客户端的响应,两者发出对象与接收对象不同

区别

//login.jsp
帐号:
密码:
爱好:
运动
游泳
睡觉

  

//test.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ include file = "logins.jsp" %>//包含logins.jsp              My JSP 'test.jsp' starting page    	

  

//logins.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'logins.jsp' starting page    	
<%      String user = request.getParameter("userName"); String pwd = request.getParameter("userPwd"); boolean flag = false; if(user.equals("111")&&pwd.equals("111")){ flag = true; session.setAttribute("userName", user); session.setAttribute("userPwd", pwd); session.setMaxInactiveInterval(2);//回话有效时间 单位是秒 } if(flag){ request.getRequestDispatcher("welcome.jsp").forward(request, response); }else{ response.sendRedirect("/demo/login.jsp"); } %>

  

//welcome.jsp <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'welcome.jsp' starting page    	
<% String user = (String)session.getAttribute("userName"); String pwd = (String)session.getAttribute("userPwd"); if(user ==null||pwd==null){ response.sendRedirect("login.jsp");//密码帐号null则重定向到login.jsp } %>

欢迎

  

 

转载于:https://www.cnblogs.com/HyjScorpion/p/7187313.html

你可能感兴趣的文章
配置phpstudy+phpstorm+xdebug环境
查看>>
BZOJ 1079 [SCOI2008]着色方案
查看>>
[Win8.1系统]双系统
查看>>
HDU 3899 树形DP
查看>>
获取当前页面url信息
查看>>
Java容器类源码分析前言之集合框架结构(基于JDK8)
查看>>
linux下C/C++程序的内存布局
查看>>
单词计数问题
查看>>
php 魔术方法 __autoload()
查看>>
js div拖动动画运行轨迹效果
查看>>
使用Struts 2框架实现文件下载
查看>>
Recipe 1.9. Processing a String One Word at a Time
查看>>
Linux 下查看系统是32位 还是64 位的方法
查看>>
MySQL 引擎 和 InnoDB并发控制 简介
查看>>
Dave Python 练习二
查看>>
菜根谭#179
查看>>
Android 开发笔记___textvieww__跑马灯效果
查看>>
[ JS 进阶 ] 闭包,作用域链,垃圾回收,内存泄露
查看>>
GitHub注册与Git安装
查看>>
11Qt样式表
查看>>