博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
写一篇博文介绍JSP
阅读量:4983 次
发布时间:2019-06-12

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

JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,它是由Sun Microsystems公司倡导、许多公司参与一起建立的一种动态网页技术标准。JSP技术有点类似ASP技术,它是在传统的网页HTML(标准通用标记语言的子集)文件(.htm,.html)中插入Java程序段(Scriptlet)和JSP标记(tag),从而形成JSP文件,后缀名为(*.jsp)。 用JSP开发的Web应用是跨平台的,既能在Linux下运行,也能在其他操作系统上运行。

它实现了Html语法中的java扩展(以 <%, %>形式)。JSP与Servlet一样,是在服务器端执行的。通常返回给客户端的就是一个HTML文本,因此客户端只要有浏览器就能浏览。
JSP技术使用Java编程语言编写类XML的tags和scriptlets,来封装产生动态网页的处理逻辑。网页还能通过tags和scriptlets访问存在于服务端的资源的应用逻辑。JSP将网页逻辑与网页设计的显示分离,支持可重用的基于组件的设计,使基于Web的应用程序的开发变得迅速和容易。 JSP(JavaServer Pages)是一种动态页面技术,它的主要目的是将表示逻辑从Servlet中分离出来。
Java Servlet是JSP的技术基础,而且大型的Web应用程序的开发需要Java Servlet和JSP配合才能完成。JSP具备了Java技术的简单易用,完全的面向对象,具有平台无关性且安全可靠,主要面向因特网的所有特点。

以下是个人学习笔记

在eclipse中创建动态web项目后

完成对Tomcat的自动部署

创建一个jsp文件后,在里面使用

<%

//书写任意java代码,可以定义局部变量

%>

<%-- --%>也可以注释html

<%! %>//这里面定义成员变量

成员变量是可保存的

局部变量相当于是在方法里面定义的变量,每次调用完成后会销毁

<%= >//内容输出表达式,可以是方法的返回值,也可以是变量

request.getParameter()//用来获取传递的参数request.getRequestDispatcher(path).forward(request,response)//请求转发

常用内置对象request response session application

请求转发

客户端发送request--->服务器端转发request--->服务器另一区域接收request--->response客户端

重定向

客户端发送request--->服务器端response--->客户端新发送request--->服务器端response

域对象

page<request<session<application

乱码问题

request.setCharacterEncoding("utf-8");//在接收数据之前先确定好编码格式

在jsp中引入jsp文件,使用jsp内置标签

//一般网页中都会设置相同的头部与脚部

动态绝对路径优先使用

相对路径缺点很大,局限性

客户端路径都使用绝对路径

//动态绝对路径

服务器端路径可以自动解析项目名

服务器端绝对路径/css/style.css

1.JSP是什么

  java  server   page,javaserver端页面技术。其主要作用在server端动态生成页面, 其组成java代码和html,
2.JSP的组成
   html:包含css/js
   java
       java代码段
              <%java代码%>
       表达式
             <%=%>
3.隐含对象
   对象不须要创建,能够直接调用。   out  、 request   、response;
4.指令
   servelt引擎在将.jsp文件转换成servelt源文件时,所做的一些额外的处理。
   语法:
   <%@指令名  属性%>
   经常使用的一些指令
   <%@page  import="java.util.*"%>
   <%@page  pageEncoding="utf-8" contentType="text/html;charset=utf-8"%>
   pageEncoding: jsp文件在保存的时候须要依照什么样的编码格式来保存。
   contentType:等同于response 的setContentType()
5.JSP的运行
  jsp引擎 (servelt引擎 )会将jsp文件转换为一个servelt源文件,再去  调用其service方法
6.转换
  html:放到service中,使用write输出
  java:   放到service中,照搬
 表达式:放到service中,使用print输出
7.转发
   a.同一个应用中,一个组件完毕部分请求,将未完毕的请求转交给另外一个组件继续处理。   在这些组件之间HttpServeltRequest对象共享。
   b.转发步骤:
    //绑定数据到request对象中
    request.setAttribute(String name, Object obj);
    Object  request.getAtrribute(String name);
    假设name没有找到就返回 null
    //创建转发器
    RequestDispatcher   rd=request.getRequestDispatcher("emplist.jsp");
    rd.forward(request, response);
    也能够这样写
     request.getRequestDispatcher("emplist.jsp").forward(request, response);
    
    c.转发和重定向的差别
      1).重定向是这件事已经完毕,转发是这件事完毕了部分。
      2).重定向的地址是随意的,转发是在同一程序内部组件之间。
      3).重定向地址栏中的地址会发生改变,而转发不会改变。
      
8.路径问题
   (1)链接   (2)表单提交    (3)重定向    (4)转发
   相对路径:不以“/”开头的路径
   绝对路径:以“/”开头的路径。
   以(1)、(2)、(3)的情况,绝对路径从应用名開始,(4)绝对路径从应用名之后開始 

转载于:https://www.cnblogs.com/xiaoruirui/p/10733914.html

你可能感兴趣的文章
使用mpvue开发小程序教程(一)
查看>>
NOIP2013普及组 -SilverN
查看>>
substring和substr小结
查看>>
onbeforeunload与onunload事件
查看>>
escape()、encodeURI()、encodeURIComponent()区别详解
查看>>
retry
查看>>
使用jQuery插件轻松实现动态流动的网页布局
查看>>
[转]6个HelloWorld
查看>>
C调用C++接口
查看>>
Golang系列:抓取网页内容
查看>>
jquery扩展的两个方法与区别 $.extend $.fn.extend
查看>>
CodeForces_937C Save Energy!(贪心)
查看>>
[Gatsby] Install Gatsby and Scaffold a Blog
查看>>
[Recompose] Add Local State to a Functional Stateless Component using Recompose
查看>>
Spring Boot + Spring Data + Elasticsearch实例
查看>>
我的机器学习之旅(一):认识机器学习
查看>>
util包下Timer类的延迟执行
查看>>
缓冲区溢出漏洞实验
查看>>
失业的程序员(十):分歧的产生
查看>>
[FZU2261]浪里个浪
查看>>