在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子类的一个实例,只在错误页面中可用