在IDEA中创建的Web项目:
  浏览器可以直接访问WebContent中的文件。
  例如http:// localhost:8888/MyJspProject/index1.jsp其中的index1.jsp就在WebContent目录中。
  但是WEB-INF中的文件无法通过客户端((浏览器)直接访问,只能通过请求转发来访问。
  注意:并不是任何的内部跳转都能访问WEB-INF;原因是跳转有2种方式:请求转发、重定向。

  配置tomcat运行时环境jsp<->Servlet

  将tomcat/lib中的servlet-api.jar加入项目的构建路径

  右键项目->Build Path -> Add library ->Server Runtime

部署tomcat

  

  在servers面板新建一个tomcat实例,再在该实例中部署项目(右键-add)之后运行

  将eclipse中的tomcat设置为托管模式:第一次创建tomcat实例之后,双击,选择Server Location

编码分类

  设置jsp文件的编码(jsp文件中的pageEncoding属性):jsp -> java设置浏览器读取jsp文件的编码(jsp文件中content属性)

  一股将上述设置成一致的编码,推荐使用UTF-8

文本编码:
  1.将整个eclipse中的文件统一设置(推荐)

  2设置某一个项目

  3.设置单独文件

.编码问题、JSP页面元素以及request对象

<%!
public String bookName; //全局变量
public void init(){
Date date = new Date();
bookName = "java书"+date;
}
%> hello index
<%
String name = "zhangsan";
out.print("<font color = 'red'>hello.</front>.."+name+"<br/>");
init();
%> <%="he<br/>llo..."+bookName%>

  <%

    局部变量,Java语句

  %>

  <%!

    全局变量,定义方法

  %>

  <%=

    输出表达式

  %>

  一般而言,修改web.xml、配置文件、java需要重启tomcat服务但是如果修改Jsp\html\cssljs ,不需要重启

  注意,out.println()不能回车;要想回车:“<br/>”,即out.print()〈%=%〉可以直接解析html代码

page指令

  page指足的禹性:

  language: jsp页面使用的脚本语言import:导入类

  pageEncoding: jsp文件自身编码、jsp ->javacontentType:浏览器解析jsp的编码

  <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"import="java.util.Date"%>

注释

  html注释<!---->,可以被客户通过浏览器查看源码所观察到

  java注释//    /*...*/
  jsp注释<%-- -- %>

7.JSP九大内置对象(自带的,不需要new也能使用的对象)

   out:输出对象,向客户端输出内容
   request:请求对象;存储“客户端向服务端发送的请求信息”
   response:response 对象和 request 对象相对应,主要用于响应客户端请求,将处理信息返回到客户端。
pageContext:pageContext 对象表示整个 JSP 页面,可以获取或删除以下对象的任意属性:
 
page
request
session
application

  session:JSP session 是 javax.servlet.http.HttpSession 的实例对象,主要用来访问用户数据,记录客户的连接信息。每次用户向服务器发出请求,且服务器接收请求并返回响应后,该连接就被关闭了,服务器端与客户端的连接被断开。此时,服务器端不保留连接的有关信息,要想记住客户的连接信息,就用到了 session 对象。
  
  applicattop:在服务器部署应用和项目时,Web 容器仅创建一次 ServletContext 实例,也就是说 application 设置的任何属性和值可以用于整个应用(所有 JSP 页面)。可以将 application 对象看作 Web 应用的全局变量。一般用于保存应用程序的公用数据。
  config:JSP config 是 javax.servlet.ServletConfig 的实例对象,一般用于获取页面和 Servlet 的初始化参数。
  page: JSP page 的实质是 java.lang.Object 对象,相当于 Java 中的 this 关键字。page 对象是指当前的 JSP 页面本身,在实际开发中并不常用。
  exception:exception对象是Throwable子类的一个实例,只在错误页面中可用

使用Eclipse快速开发jsp和.编码问题、JSP页面元素以及request对象的更多相关文章

  1. SNF快速开发平台3.0之BS页面展示和九大优点-部分页面显示效果-Asp.net+MVC4.0+WebAPI+EasyUI+Knockout

    一)经过多年的实践不断优化.精心维护.运行稳定.功能完善: 能经得起不同实施策略下客户的折腾,能满足各种情况下客户的复杂需求. 二)编码实现简单易懂.符合设计模式等理念: 上手快,见效快.方便维护,能 ...

  2. 序列化与反序列化、def的介绍与快速使用、cbv源码分析、APIView与request对象分析

    今日内容概要 序列化与反序列化 def介绍和快速使用 cbv源码流程分析 drf之APIView和Request对象分析 内容详细 1.序列化和反序列化 # api接口开发 最核心最常见的一个过程就是 ...

  3. SNF开发平台WinForm之九-代码生成器使用说明-SNF快速开发平台3.3-Spring.Net.Framework

    下面就具体的使用说明: 1.获取代码生成器的授权码(根据本机)-----还原数据库-------改config-----代码生成器 改代码生成器Config 2.登录代码生成器 3.查看是否连接成功 ...

  4. SNF开发平台WinForm之一-开发-单表表格编辑管理页面-SNF快速开发平台3.3-Spring.Net.Framework

    1.1运行效果: 1.2开发实现: 1.2.1          首先在数据库中创建需要开发的数据表,在代码生成器中进行配置连接数据库. 代码生成器的Config.xml文件配置如下节点: 1.2.2 ...

  5. 使用 CodeIgniter 框架快速开发 PHP 应用(五)

    原文:使用 CodeIgniter 框架快速开发 PHP 应用(五) 简化 HTML 页面和表格设计这一章介绍了又一个节约你的时间而且使你的代码更具安全性和逻辑性的领域.第一,我们将会介绍创建视图的各 ...

  6. SNF快速开发平台MVC-表格单元格合并组件

    1.   表格单元格合并组件 1.1.      效果展示 1.1.1.    页面展现表格合并单元格 图 4.1 1.1.2.    导出excel合并单元格 图 4.2 1.2.      调用说 ...

  7. SNF快速开发平台MVC-Grid++集成打印

    一.显示效果: 二.程序实现: 1.先要在 打印模版程序 给指定页面进行在线设计打印模版 2.在使用的程序当中,增加如下代码即可.程序上是可以挂多个打印模版的,程序页面的代码不用动直接可以读取到打印模 ...

  8. .Net可扩展的单据编号生成器-SNF.CodeRule--SNF快速开发平台3.2

    1.背景 在企业应用中单据编号的自定义是一个很常见的需求,如工号.业务单据编码等,能不能抽象一个通用的框架呢? 2.思路 这里的难点在于实现"解释器",比如将"前缀&qu ...

  9. SNF.Net 快速开发平台Spring.Net.Framework 诞生的由来与规划

    没有快速开发平台的时候只能感慨自己曾经浪费了那么多精力在拖拽控件上,总写重复的代码,却花了很多精力且不能体现自己的价值.SNF快速开发平台能把你解放出来,让你有更多的时间参与到核心业务逻辑中去,让你有 ...

  10. 快速开发之代码生成器(asp.net mvc4 + easyui + knockoutjs)

    一.前言 作为一个码农这么多年,一直在想怎么提高我们的编码效率,关于如何提高编码效率,我自己的几点体会 1.清晰的项目结构,要编写代码的地方集中 2.实现相同功能的代码量少并且清晰易懂 3.重复或有规 ...

随机推荐

  1. 08 安装虚拟机:Windows 10

    08 安装虚拟机:Windows 10 在安装虚拟机之前,总是要有安装来源媒体(例如:ISO映像之类),方可顺利进行.在Proxmox VE中有几种将ISO档置入Proxmox VE的方式,本节介绍其 ...

  2. Java 01-Java常用类 System

    System类:系统类,主要用于获取系统的属性和方法,没有构造方法 System的属性都是静态属性,方法都是静态方法 方法: 获取当前系统时间 currentTimeMillis()  返回的是毫秒值 ...

  3. k8s master节点高可用 nginx+keepalived配置文件

    nginx配置 user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; i ...

  4. 微信小程序学习记录

    尺寸单位 rpx 常常以iphone6为开发基准,  1px = 2rpx,不同设备的比例是不同的: 小程序生命周期 和vue的生命周期很相似,不过小程序的生命周期和页面.组件的生命周期又又一点不一样 ...

  5. 【剑指Offer】【链表】链表中倒数第k个结点

    题目:输入一个链表,输出该链表中倒数第k个结点. A1:先从头到尾扫描链表,得到链表的总长度n,然后再扫描一次链表,输出n-k+1处的结点  ===> 测试用例超时 A2:创建两个指针,一个遍历 ...

  6. prometheus 对接飞书告警

    prometheus对接飞书告警 环境 名称 ip地址 cpu 内存 yz-feishu 10.65.6.91 4c 8G 飞书创建群组机器人,参考飞书官网 https://www.feishu.cn ...

  7. ETL常用的三种工具介绍及对比Datastage,Informatica和Kettle

    https://blog.csdn.net/qq_34901049/article/details/103676959 大数据量下Informatica与Datastage的处理速度是比较快的,比较稳 ...

  8. QSlider CSS样式

    QSlider::groove:horizontal{ border:0px; height:15px; background:#deffe5; } QSlider::sub-page:horizon ...

  9. 计算机意外地重新启动或遇到错误windows安装无法继续解决方法

    计算机意外地重新启动或遇到错误windows安装无法继续解决步骤如下: 当win10在安装过程中一直卡在"海内存知己,天涯若比邻"时同样实用 解决方法: 按住shift+f10(或 ...

  10. ES6的模块化(import引入)

    先做个前提,新建三个模块JS文件m1,m2,m3,其中m1.js 为分别暴露,m2.js 为统一暴露,m3.js 为默认暴露.接下来进行文件的import引入 1.通用的引入方式,这种方式适合任何暴露 ...