在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. unity 变体 随手记

    1 #pragma multi_compile AAA BBB#pragma multi_compile CCC DDDAAA CCCAAA DDDBBB CCCBBB DDD------------ ...

  2. yzh 总线选讲

    分布式:通过总线,我们可以用"通信""消息"等视角,把各个模块拆成各个小状态机,每个小状态机互相之间独立,通过总线通信 集中式:通过一个大状态机生成所有控制信号 ...

  3. vue 切换json语言包

    1.在asstes文件夹新建 2.在main.js读取本地json语言包 3.在vue页面t这样引用

  4. zabbix-proxy部署笔记

    前提:配置好yum源 1. 安装mariadb-server systemctl start mariadb.service systemctl enable mariadb.service mysq ...

  5. iOS开发 WKWebView实现JS交互

    需求:利用webView加载H5页面,并实现点击H5页面的按钮触发事件,事件是调用OC的方法.简单说就是JS调用OC的方法,这里我们选择的是WKWebView,至于为什么不用UIWebView,自行百 ...

  6. 7.golang语言学习,标识符的命名规范

    1.凡是自己可以命名的都是标识符 2.命名规则 a.由26个英文字母,数字0-9,_组成 b.不能数字开头 c.严格区分大小写 d.不能包含空格 e.下划线"_"本身在go中是一个 ...

  7. Vue3.0 里为什么要用 Proxy API 替代 defineProperty API?

    响应式优化. a. defineProperty API 的局限性最大原因是它只能针对单例属性做监听. Vue2.x 中的响应式实现正是基于 defineProperty 中的 descriptor, ...

  8. 041_Record Type

    应用场景:在使用Apex新建记录时,有时需要根据具体需求为用户匹配对应的记录类型,这个时候就需要用到记录类型Id的情况. 获取RecordTypeId的方法有2种,一种是根据soql进行查询,另一种是 ...

  9. NavicatPremium16破解!!!!!亲测可用!!!!!!!!!!!!!!!!!

    前言 Navicat premium是一款数据库管理工具,是一个可多重连线资料库的管理工具,它可以让你以单一程式同时连线到 MySQL.SQLite.Oracle 及 PostgreSQL 资料库,让 ...

  10. 初探AOP

    1.背景介绍 1.什么是AOP 1)在OOP(面向对象编程)中,正是这种分散在各处且与对象核心功能无关的代码(横切代码)的存在,使得模块复用难度增加.  2)AOP则将封装好的对象剖开,找出其中对多个 ...