大发2分彩导航网_Java匹马行天下之JavaWeb核心技术——JSP

  • 时间:
  • 浏览:1
  • 来源:淤青的博客 - 专注共享松果娱乐网资源

一、JavaWeb简介

一、什么是JavaWeb?

  •  JavaWeb是用Java技术来出理 相关web互联网领域的技术总称。
  •  还要在特定的web服务器上运行,分为web服务器和web客户端两帕累托图
  •  跨平台,不需要能能在多个平台下部署和运行

二、静态网页和动态网页

  • 静态网页:网页中的内容是固定的,不需要更新。
  • 所用技术为html、css;
  • 动态网页:网页中的内容通过应用应用程序动态显示的,自动更新。
  • 所用技术为html、css、数据库、最少一门高级语言(Java、C#,PHP),JavaScript,XML等,主流的动态网页脚本技术(jsp/Asp.net/php)

三、Tomcat服务器目录介绍

 

WEB-INF是Java的Web应用的安全目录。所谓安全可是我 客户端无法访问,能能了服务端能能能了访问的目录。

web.xml文件是项目的部署文件

classes文件夹,用于放置*.class文件

lib文件夹,用于存放还要的jar包

如图:

 

四、修改Tomcat服务器默认端口

在Tomcat的安装目录下,找到conf-->server.xml文件

 

找到Connector标签

 

修改port属性的值即可,端口修改完成时会记得保存,为什么在么在让重启Tomcat服务器。

二、JSP基础学习

一、JSP简介

JSP全名为Java Server Pages,其根本是一十个 冗杂的Servlet设计,他实现了再Java当中使用HTML标签。JSP是本身动态网页技术标准也是JavaEE的标准。JSP与Servlet一样,是在服务器端执行的。

JSP实际上可是我 Servlet。JSP这门技术的最大的特点在于:写jsp就像在写html,但它相比html而言,html能能了为用户提供静态数据,而Jsp技术允许在页面中嵌套java代码,为用户提供动态数据。

二、JSP的作用

  • Servlet:服务器端的小应用应用应用程序。适合编写Java逻辑代码,肯能编写网页内容------->费时费力,太苦

缺点:不适合设置HTML响应体,还要血块的

response.getWriter().print("<html>");

优点:动态资源,能能能了编程。

  • HTML:静态内容

缺点:HTML是静态页面,能能了中有 动态信息;

优点:不需要为输出html标签而发愁。

  • jspjava server pages):适合编写输出动态内容,但不适合编写Java逻辑

优点:在原有HTML的基础上添加java脚本,构成jsp页面。

三、JSP和Servlet的分工

  • JSP

作为请求发起页面,这类显示表单、超链接。

作为请求开始页面,这类显示数据。

  • Servlet

作为请求中出理 数据的环节

四、JSP的组成

 

jsp=html+java脚本+jsp标签(指令)

jsp中不需要创建即可使用的对象一共有9个,称为九大内置对象。

3种java脚本:

  • <%……%> java代码片段(常用),用于定义0-N条java一段话,最好的法子内写什么就能能能了在这里写什么,能能了声明最好的法子和类;
  • <%=……%> java表达式,用于输出(常用),用于输出第两根表达式(或变量)的开始,print()括号中参数能能能了放什么,这里就能放什么;
  • <%!……%> 声明,用来创建类的成员变量和成员最好的法子(基本不需要),class A{ } 类体中能能能了放什么,这里就能能能了放什么。

五、JSP的执行流程及原理

 

jsp着实是本身特殊的Servlet

  • 当jsp页面第一次被访问时,服务器会把jsp编译成java文件(什儿 java着实是一十个 Servlet类);
  • 为什么在么在让再把java编译成.class;
  • 为什么在么在让创建该类对象;
  • 最后调用它的service()最好的法子;
  • 第二次请求同一jsp时,直接调用service()最好的法子。
  • 在Tomcat的work目录下能能能了找到jsp对应的.java源代码。

1、IE浏览器在访问JSP页面时,Web服务器是怎么才能 才能 调用并执行一十个 jsp页面的?(Servlet)

  •   第一次:转译(翻译) --> 编译 --> 执行
  •   第二次:执行

2、Web服务器在执行jsp页面时,是怎么才能 才能 把Jsp页面中的html排版标签发送到客户端的?

  •   out.print("<......>"); 肯能 out.write("<......>");

3、Jsp页面中的java代码服务器是怎么才能 才能 执行的?

  •   服务器 --> .java文件 --> .class文件 --> 结果out回客户端

4、Web服务器在调用jsp时,会给jsp提供许多什么java对象(内置对象)?

  •   HttpSession、ServletConfig、ServletContent、request、response、out等等。

六、JSP的基本语法

  •   Servlet:控制器。重点编写java代码逻辑。(获取表单数据、出理 业务逻辑、架构设计 转向)
  •   JSP:代码显示模板。重点在于显示数据。(为什么在显示数据不直接用.html文件呢?肯能.jsp文件中能能能了插入java代码显示回显消息,简言之,jsp功能更强大)

 1、JSP的模版元素:简言之可是我 网页的静态内容

    这类:html标签和普通文本。

 2、JSP的脚本     

  • <%……%> java代码片段(常用),用于定义0-N条java一段话,最好的法子内写什么就能能能了在这里写什么,能能了声明最好的法子和类;
  • <%=……%> java表达式,用于输出(常用),用于输出第两根表达式(或变量)的开始,print()括号中参数能能能了放什么,这里就能放什么;

        <%= 2 + 3 %> 等价于out.print(2 + 3);

  • <%!……%> 声明,用来创建类的成员变量和成员最好的法子(基本不需要),class A{ } 类体中能能能了放什么,这里就能能能了放什么。

 

    3、注释

    JSP注释:<%-- 被注释的内容 --%> 特点:安全,省流量

    网页注释:<!-- 网页注释 -->     特点:不安全,费流量

七、JSP的一十个 指令

 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而可是我 告诉引擎怎么才能 才能 出理 JSP页面中的其余帕累托图

 在JSP 2.0规范中共定义了一十个 指令: 

  •   page指令(页面级别)
  •   include指令(导入其它页面的信息)
  •   taglib指令(标签指令)

这类:

 

 1page

    作用:page指令用于定义JSP页面的各种属性,无论page指令突然突然出现在JSP页面中的什么地方,它作用的与非 整个JSP页面。

        为了保持应用应用程序的可读性和遵循良好的编程习惯,page指令最好是装进整个JSP页面的起始位置。 

    属性

  •      importjava代码中的import是一样的。

        <%@ page import="java.util.Date, java.util.List" %>

        肯能:

        <%@ page import="java.util.Date" %>

        <%@ page import="java.util.List" %>

        JSP会自动导入(默认导入)以下的包:

          import java.lang.*;

          import javax.servlet.*;

          import javax.servlet.http.*;

          import javax.servlet.jsp.*;

  •      session: 表示与非 会自动创建session对象。其默认值是true
  •       buffer: JSP中有 javax.servlet.jsp.JspWriter输出字符流。设置输出数据的缓存大小,默认大小是8kb。建议最好并不改大小。
  •      errorPage: 肯能页面中有 错误,则跳转到指定的资源。(即不需要页面弹出404/30等错误)

        errorPage="/uri" 

        肯能写"/"则代表当前应用的目录下,绝对路径。

        肯能不写"/"则代表相对路径。

  •      isErrorPage: 表示与非 创建throwable对象。其默认值是false。作用:输出页面错误信息:by zero
  •      contextType: contentType="text/html; charset=UTF-8" 告诉浏览器使用什么编码来解析文本。等同于 response.setContextType("text/html; charset=utf-8"); 
  •      pageEncoding: 告诉JSP引擎(服务器)要转译(翻译)的文件使用的编码。

        这类:<%@ page  pageEncoding="gbk" %>

  •      isELIgnored: 与非 支持EL表达式。 默认是false,表示支持EL表达式。

        这类:${1+1}  等价于out.print(1+1);

2include

      include指令用于引入其它JSP页面,肯能使用include指令引入了其它JSP页面,这么JSP引擎将把这一十个 JSP翻译成一十个 servlet。太少include指令引入通常也称之为静态引入。

  •         静态中有 :把其它资源中有 到当前页面中。

          <%@ include file="/include/header.jsp" %>

  •         动态中有 :

          <jsp:include page="/include/header.jsp"></jsp:include>

        两者的区别:转译(翻译)的时间段不同

  •           前者:在翻译时就把一十个 文件合并
  •           后者:不需要合并文件,当代码执行到include时,才中有 原本文件的内容。

        使用原则:能用静的就不需要动的。原应之一是:能能能了省略许多代码的书写。

   3taglib

JSP API允许用户自定义标签,一十个 自定义标签库可是我 自定义标签的集合。

Taglib指令引入一十个 自定义标签集合的定义,包括库路径、自定义标签。

Taglib指令的语法:

<%@ taglib uri="uri" prefix="prefixOfTag" %>

uri属性选则标签库的位置,prefix属性指定标签库的前缀。

等价的XML语法:

<jsp:directive.taglib uri="uri" prefix="prefixOfTag" />

      作用:在JSP页面中导入JSTL标签库。替换jsp中的java代码片段。

        <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>    prefix:前缀(最少重新给uri起个名字)

       示例:

           <%   

          if (5 > 3) { 

          out.print(5); 

          } 

        %> 

        <%-- 上下二种最好的法子是等价的 --%>

        <c:if test="${5>3}"> 

          aaa 

        </c:if>

      下面的什儿 最好的法子很好用!上端慢慢体会。

八、JSP的动作

使用标签的形式来表示一段java代码。

JSP行为标签使用XML语法内控 来控制servlet引擎。它不需要能能动态插入一十个 文件,重用JavaBean组件,引导用户去原本页面,为Java插件产生相关的HTML等等。

行为标签能能了本身语法格式,它严格遵守XML标准:

<jsp:action_name attribute="value" />

行为标签基本上是许多预先就定义好的函数,下表罗列出了许多可用的JSP行为标签:

九、JSP的九个内置对象

占据 JSP的<%=%> 和<% %>中能能能了直接使用的对象,服务器给我们 歌词 歌词 创建好的对象,直接拿过来用就行了。

      这类:

          <%=request.getParameter("name") %>

      <%

         Student stu = new Student();

         stu.setName("tom");

         out.print(stu.getName());

         // request.getRequestDispatcher("/7.jsp").forward(request, response);

       %>

 

十、JSP客户端请求

HttpServletRequest类

request对象是javax.servlet.http.HttpServletRequest类的实例。每当客户端请求一十个 页面时,JSP引擎就会产生一十个 新的对象来代表什儿 请求。

request对象提供了一系列最好的法子来获取HTTP信息头,包括表单数据,cookies,HTTP最好的法子等等。

接下来肯能介绍许多在JSP编程中常用的获取HTTP信息头的最好的法子。完正内容请见下表:

HTTP信息头示例

在什儿 例子中,我们 歌词 歌词 会使用HttpServletRequest类的getHeaderNames()最好的法子来读取HTTP信息头。什儿 最好的法子以枚举的形式返回当前HTTP请求的头信息。

获取Enumeration对象后,用标准的最好的法子来遍历Enumeration对象,用hasMoreElements()最好的法子来选则什么很久 停止,用nextElement()最好的法子来获得每个参数的名字

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h2>HTTP 头部请求实例</h2>
<table width="30%" border="1" align="center">
<tr bgcolor="#949494">
<th>Header Name</th><th>Header Value(s)</th>
</tr>
<%
   Enumeration headerNames = request.getHeaderNames();
   while(headerNames.hasMoreElements()) {
      String paramName = (String)headerNames.nextElement();
      out.print("<tr><td>" + paramName + "</td>\n");
      String paramValue = request.getHeader(paramName);
      out.println("<td> " + paramValue + "</td></tr>\n");
   }
%>
</table>
</body>
</html>

  

十一、JSP服务器响应

HttpServletResponse类

response 对象是 javax.servlet.http.HttpServletResponse 类的一十个 实例。就像服务器会创建request对象一样,它也会创建一十个 客户端响应。

response对象定义了出理 创建HTTP信息头的接口。通过使用什儿 对象,开发者们能能能了添加新的cookie或时间戳,还有HTTP请况码等等。

下表列出了用来设置HTTP响应头的最好的法子,什么最好的法子由HttpServletResponse 类提供:

 

HTTP响应头应用应用程序示例

接下来的例子使用setIntHeader()最好的法子和setRefreshHeader()最好的法子来模拟一十个 数字时钟:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ page import="java.io.*,java.util.*" %>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
</head>
<body>
<h2>自动刷新实例</h2>
<%
   // 设置每隔5秒自动刷新
   response.setIntHeader("Refresh", 5);
   // 获取当前时间
   Calendar calendar = new GregorianCalendar();
   String am_pm;
   int hour = calendar.get(Calendar.HOUR);
   int minute = calendar.get(Calendar.MINUTE);
   int second = calendar.get(Calendar.SECOND);
   if(calendar.get(Calendar.AM_PM) == 0)
      am_pm = "AM";
   else
      am_pm = "PM";
   String CT = hour+":"+ minute +":"+ second +" "+ am_pm;
   out.println("当前时间: " + CT + "\n");
%>
</body>
</html>

  

此篇是我在学习过程中参考菜鸟教程以及笔记和别人博客(黑泽君)完成

Java匹马行天下依旧在更新中,欢迎我们 歌词 歌词 关注,感觉能能能了的能能能了点击一下推荐,若如有误,感谢指正,谢谢!

猜你喜欢

5分彩破解器app_潘玮柏当Selina10年男闺蜜 自曝初吻也给了对方

  Selina和潘玮柏有10年“闺蜜”好交情据台湾媒体报道,亚洲唱跳天王潘玮柏13日为25日的“伊殿园”演唱会练舞,好友SHE的Selina,特请中医师特调“勇、猛、强、壮”

2020-04-01

幸运飞艇app下载_小伙参加传销与多女发生关系 被领导层打死

案发地地处高速路桥下一处隐僻的山坡画圈处对河南小伙徐某春来说,“组织”不可靠,“兄弟”更不可靠幸运飞艇app下载。幸运飞艇app下载他为此付出了生命的代价。2012年8月22日

2020-04-01

3分飞艇登录中心_知乎F轮融资4.34亿美元 快手、百度战略投资

IT研究中心消息据国内媒体报道,知乎已完成4.34亿美元的F轮融资。这是知乎迄今为止最大的一轮融资,也是近两年来中文互联网文化和娱乐领域金额最大的融资之一。据悉,本轮融资由快手

2020-04-01

好运快3新平台_腾讯WeTest《2018中国移动游戏质量白皮书》正式发布

放眼大局,游戏玩家中,70%用好运快3新平台户已有3年以上的互联网经验,玩家们对游戏审美好运快3新平台更慢提高。而相较2017年,游戏工委&伽马数据《2018年中国游戏

2020-04-01

10分pk10新用户注册 _匹马行天下之思维决定高度篇——大学再努力,培训机构做兄弟

 “学编程可吃香了,去北上广拿个13K随随便便”,“我听说你你是什么学长在大三通过实习就能把大学的学费挣出来”,“软件专业工作太好找了,出去后大公司抢着要,工资也是所有行业最高

2020-04-01