JSP-Java Server Pages(Java服务器页面)

引言
有关JSP的相关知识点的介绍。
I.在myeclipse环境中集成tomcat步骤
1.JSP-Java Server Pages(Java服务器页面)_第1张图片
2.JSP-Java Server Pages(Java服务器页面)_第2张图片
3.JSP-Java Server Pages(Java服务器页面)_第3张图片
4.JSP-Java Server Pages(Java服务器页面)_第4张图片
5.创建一个web项目:
File–>new –>web project
JSP-Java Server Pages(Java服务器页面)_第5张图片
6.打开index.jsp进行编辑
7.部署web应用:
JSP-Java Server Pages(Java服务器页面)_第6张图片
JSP-Java Server Pages(Java服务器页面)_第7张图片
点击了add按钮之后,会弹出以下界面:
JSP-Java Server Pages(Java服务器页面)_第8张图片
选择tomcat6.0之后,finish完成
8. 启动tomcat服务器JSP-Java Server Pages(Java服务器页面)_第9张图片
9. 可以在浏览器中访问该web应用了。
JSP-Java Server Pages(Java服务器页面)_第10张图片
始终记住,jsp文件仅仅是一个草稿文件,jsp中为我们提供的那些api也都是草稿api,最终jsp中的语法会变成之前我们学习过得java语法。
II.JSP中的各种元素:脚本元素、指令元素、动作元素。
(一) 脚本元素:
1) <% %>在该脚本段中的所有内容,最终会出现在一个Java方法中。
所以,在Java方法中可以写什么内容,在该脚本段中也可以写什么内容,在Java方法中不能写什么内容,在该脚本段中也就不能写什么内容。
2)

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h2>index.jsph2>
<%!
    int count = 0;
%>
hahaha
<br />
你是第<%=++count %>个访客

JSP-Java Server Pages(Java服务器页面)_第11张图片
(二) 指令元素
所有的指令元素,都是<%@ %>
page,学习page指令元素,就是学习page指令元素的属性.
import 用于引入外包的class
Buffer 用于控制当前jsp页面的缓冲区大小,默认值为8kb
contentType 用于告诉浏览器,服务器给你发送的是什么格式的数据。
errorPage 当当前jsp页面中抛出异常的时候,指定的跳转页面
isThreadSafe 控制web服务器是否对该jsp页面支持并发,取值为true就表示支持并发
pageEncoding 1 .Jsp–>java过程中,就是使用该属性指定的码表来生成java源文件的。2.告诉浏览器使用什么码表。
Include:静态包含
静态包含,就是把目标页面包含到<%@ include file=””%>代码处。JSP-Java Server Pages(Java服务器页面)_第12张图片
taglib(暂留)
(三) 动作元素
a) JavaBean的规范:
1. 所有属性必须私有化。
2. 必须为私有属性提供公共的getter(获取器)和setter(设置器)
3. 必须提供一个公共的无参的构造器。
4. 必须实现序列化接口: java.io.Serializable
通过简单的代码体会三个动作元素。
一个student的JavaBean

package com.westos.stu;
import java.io.Serializable;
public class StudentBean implements Serializable{
    private String name;
    private int age;
    public StudentBean() {
        super();
        // TODO Auto-generated constructor stub
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getAge() {
        return age;
    }
    public void setAge(int age) {
        this.age = age;
    }
}

JSP-Java Server Pages(Java服务器页面)_第13张图片

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
id="n1" class="com.westos.stu.StudentBean">
property="name" name="n1" value="薛之谦" />
property="age" name="n1" value="34" />
姓名:property="name" name="n1"/>
年龄:property="age" name="n1"/>
id="n2" class="com.westos.stu.StudentBean"> property="name" name="n2" value="高磊鑫" /> property="age" name="n2" value="34" /> 姓名:property="name" name="n2"/>
年龄:property="age" name="n2"/>

结果:
JSP-Java Server Pages(Java服务器页面)_第14张图片
b)动态包含。
通过与静态包含进行比较来认识动态包含

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h1>静态包含与动态包含h1>
<fieldset>
    <legend>静态包含legend>
    <%@ include file="a.jsp" %>
fieldset>
<fieldset>
    <legend>动态包含legend>
    <jsp:include page="a.jsp">jsp:include>
fieldset>

JSP-Java Server Pages(Java服务器页面)_第15张图片
尽管从结果上看没有什么区别,但看其内部就会发现动态包含与静态包含的不同之处。
经典面试题: 静态包含与动态包含的区别:
1. 静态包含是先包含,后编译; 最终只能生成一个java源文件!class也是一个。动态包含是先编译,后包含。最终生成多个java源文件!class也是多个。
静态包含:
JSP-Java Server Pages(Java服务器页面)_第16张图片
动态包含:
JSP-Java Server Pages(Java服务器页面)_第17张图片
2. 静态包含不能用变量名作为路径; 动态包含就可以用变量名作为路径。
3. 静态包含不能给被包含的目标jsp页面传递参数;动态包含就可以!
4. 一个页面上的多个静态包含的页面中,不能有同名的变量;动态包含就可以!
c) 转发
暂时可以理解为不用点击,直接跳转的链接

index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h1>转发h1>
<<jsp:forward page="a.jsp">jsp:forward>
a.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h2>a.jsph2>
哈哈哈,我是a.jsp页面

JSP-Java Server Pages(Java服务器页面)_第18张图片
从上面的图片可以看出,浏览器访问的是index.jsp页面,但是响应的却是a.jsp页面。因而不难理解转发的概念。
d) 传递参数请求
传递参数有好几种办法:
1. 通过表单。
2. 不需要表单,直接在url后面加上?参数名=参数值&参数名2=参数值2…..
3. 直接在超链接的url后面写出参数即可!
4. 通过window.location=”url?请求参数”
5.JSP-Java Server Pages(Java服务器页面)_第19张图片

index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
    request.setCharacterEncoding("utf-8");
%>
<h1>传递参数h1>
<jsp:include page="a.jsp">
    <jsp:param value="薛之谦" name="name"/>
    <jsp:param value="高磊鑫" name="name2" />
jsp:include>
a.jsp
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<h2>a.jsph2>
<%=request.getParameter("name")%><br />
<%=request.getParameter("name2")%>

结果:JSP-Java Server Pages(Java服务器页面)_第20张图片
JSP-Java Server Pages(Java服务器页面)_第21张图片

你可能感兴趣的:(html,java,服务器,web应用,myeclipse)