Java后端笔记(1)Jsp初探

2022-10-11 21:06:57 130 0
魁首哥

1.静态页面和 动态页面 的区别

静态页面:a.不能和数据库交互

Java后端笔记(1)Jsp初探

b.页面后缀名为html、htm

c. 静态网页 的内容相对稳定,因此容易被搜索引擎检索;

动态页面:a.能和数据库交互

b.页面后缀名通常为 Jsp 、php

优点:

1)动态网页以数据库技术为基础,可以大大减少降低网站维护的工作量;

2)采用动态网页技术的网站可以实现更多的功能,如用户注册、用户登录、在线调查、用户管理、订单管理等等;

缺点:

静态网页:

1)静态网页没有数据库的支持,在网站制作和维护方面工作量较大,因此当网站信息量很大时完全依靠静态网页制作方式比较困难;

2)静态网页的交互性交叉,在功能方面有较大的限制。

动态网页:

1)动态网页中的“?”对搜索引擎检索存在一定的问题,搜索引擎一般不可能从一个网站的数据库中访问全部网页,或者出于技术方面的考虑,搜索蜘蛛不去抓取网址中“?”后面的内容,因此采用动态网页的网站在进行搜索引擎推广时需要做一定的技术处理才能适应搜索引擎的要求

2.Web应用系统的工作原理

a)客户端发送请求给服务器

b)服务器接收客户端的请求给数据库

c)数据库通过sql查询语句将结果反馈给服务器

d)服务器拿到数据库反馈的结果,给客户端,并显示给用户

3.HTTP(HyperText Transfer Protocol,超文本传输协议)和ftp

1) HTTP:

是一种详细规定了浏览器和Web服务器之间互相通信的规则,通过因特网传送Web文档的数据传送协议 是一个应用层协议,由请和响应构成,是一个标准的客户端/服务器端模型

特点:

a.支持C/S(客户端/服务器端)模式

b.简单快速:客户端向服务器请求服务时,只需传送请求方法(get/post)和路径

c.灵活:允许传输任意类型的数据对象,正在传输的类型由Content-Type标记

d.无连接:HTTP协议限制每次连接只处理一个HTTP请求,处理完请求并收到客户端应答后就断开连接

e.无状态:对于事务处理没有记忆能力,若后续处理需要前面的信息,就要重新发送

FTP:文件传输协议

2) HTTP请求 GET/examples/index.html HTTP/1.1 请求行,有三个字段:方法、URL、HTTP版本。以下都称为 请求头部

Host:www.blue-bridge.com 头部行:指定接收HTTP请求的主机

Connection:Keep-Alive 告知服务器请求使用持久的 TCP 连接,服务器返回请求的对象后不关闭TCP连接。持久连接是HTTP1.1的默认行为,是指每个TCP连接可以处理多个HTTP请求

User-agent:Mozilla/4.0 User Agent也简称UA。它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系 统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供 更好的体验或者进行信息统计;

Accept-language:zh-cn 如果所请求的对象有指定的语言版本(如简体中文),那么用户接收改版本,若没有这个语言版本,服务器就 发送默认的

user=jacky&pwd=654321 表示多个参数名和参数值,可以是表单提交的也可以是自己写的(get方法的。post提交表单的话参数放在请求 体里)

3) HTTP响应: HTTP/1.1 200 0K 状态行(协议版本字段、 状态码 字段、状态代码文本描述字段)。以下为头部行 Connection:close 服务器使用Connection:close告知客户端自己将在发送完本消息后关闭TCP连接 Date:Thu,13 Oct 2013 11:17:34 GMT Date头部行指出服务器创建并发送本响应消息的日期和时间(此时间) Server: Apache /2.0.54(Unix) 指出本消息是由Apache服务器产生的 Last-Modified:Mon,22 Jun 2012 10;22;24 GMT Last-Modified指出对象本身创建或最后修改日期和时间 这个 对于对象的高速缓存至关重要 Content-Length:4322 指出所发送对象的字节数 Content-Type:text/html 指出包含在响应正文中的对象的类型 数据…… 响应正文

4.B/S C/S 区别?

B/S:浏览器,服务器

C/S:客户端,服务器

5.状态码

200:ok,客户端请求成功

301/302:Moved Permanently/Found ,被请求的资源已永久/临时移动到新的位置,需要重定向

400:Bad Request,客户端请求有语法错误,不能被服务器所理解。

401:Unauthorized,请求未经授权 404:Not Found,请求的资源不存在,输入了错误的URL

500:Internal Server Error,服务器发生了不可预期的错误

503:Server Unavailable,服务器当前不能处理客户端的请求,一段时间后可能恢复正常

1**:请求已接收,需后续处理

2**:成功,请求已被成功接收、理解、接受

3**:重定向,代表需要客户端采取进一步行动才能完成请求

4**:客户端错误,请求有语法错误或请求无法实现

5**:服务器端错误,服务器未能实现合法请求

6. Tomcat 目录结构

bin:存放Windows或Linux上 启动和关闭Tomcat的脚本文件

conf:存放Tomcat的全局配置文件,最重要的是server.xml(Tomcat服务器配置) web.xml(Web应用系统配置)

lib:存放Tomcat所需的各种 jar 文件

logs:存放Tomcat执行时的日志文件

temp:Tomcat运行时用于存放临时文件

webapps:存放Web应用的发布目录

work:存放Jsp生成的 Servlet 文件

7.Web应用系统目录结构:

/:Web应用根目录 ,此目录下的所有 文件 客户端都可以访问

/WEB-INF:存放应用程序的各种资源,web.xml(Web应用系统配置文件)就在这 此目录和其子目录客户端都不可访问

/WEB-INF/classes:存放Web应用系统的 class文件

/WEB-INF/lib: 存放Web应用系统使用的jar文件

注意:/WEB-INF/classes 目录下的class文件和 /WEB-INF/lib 目录下的jar包里的class文件冲突时 web应用系统加载/WEB-INF/classes 下的文件

8.修改Tomcat端口号

conf目录下的server.xml文件 修改Connector节点下的port属性值

9.Tomcat配置管理员信息

打开conf下的tomcat-users.xml文件,在节点下添加

(Tomcat6.0用)

(Tomcat7.0用)

重启,打开欢迎页,点右上角Manager App 进入web应用系统管理页。可以管理在Tomcat上运行的WEB应用系统

10.JSP(Java Server Pages)

JSP执行过程:

1)首先,客户端发出请求(request ),请求访问JSP网页2)接着,JSP容器将 要访问的.JSP文件转译成Servlet的源代码(.java文件)

3)然后,将产生的Servlet的源代码(.java文件)经过编译,生成.class文件,并加载到内存执行

4)最后把结果响应(response )给客户端

执行JSP网页文件时,需要经过两个时期:转译时期(TranslationTime)和请求时期(RequestTime)。

转译时期:JSP转译成Servlet类(.class文件)。

请求时期:Servlet类(.class文件)执行后,响应结果至客户端。

转译期间主要做了两件事情:

(1)将JSP网页转译为Servlet源代码(.java),此段称为转译时期(Translation time);

(2)将Servlet源代码(.java)编译成Servlet类(.class),此阶段称为编译时期(Compilation time)。

其实,JSP就是一个Servlet。

11.JSP指令

Jsp指令是负责告诉JSP引擎如何把页面翻译成Servlet

语法:<%@page 属性1=“属性值1” 属性2=“属性值2”…… %>

常用三指令(通常有默认值):

page指令 :针对当前页面的指令

import 属性:是所有page指令中唯一可以多次设置的指令,而且是累加的,用来指定页面文件中引用的外在类文件

eg. <%@page import=”java.io*,java.util.* “%>

或者<%@page import=” java.io* ” %> <%@page import=” java.util.* ” %>

contentType 属性:设置编码格式,处理中文乱码 告诉服务器在客户端浏览器上以何种格式和编码方式显示jsp页面内容

language 属性 指定jsp页面用的脚本语言(jsp只支持java,默认值也是java)

session 属性:定义当前页 是否参HTTP的session会话,默认为true时,可获得隐含名为session的对象,false时则不能

errorPage 属性:指向错误处理页面的URL 当JSP页面出现一个没有被捕获的异常时,异常信息以throw语句形式抛出,而被设置为错误处理的jsp页面,可以利用JSP中exception隐含对象,获取错误信息

isErrorPage 属性:设置此页是否为错误处理页面,默认值为false。设置为true时,该jsp页将可存取隐含的exception对象,取得从错误发生页所传出的错误信息

include指令 :包含另外一个文件

eg. <%@ include file=”filename.jsp”>

好处:有助于模块化设计。可以用include指令把一个页面分为多个部分(如页眉,页脚)模块化,最后合成一个完整文件。

应用:在web系统中有很多二级、三级页面都需要进行访问权限的控制,

taglib :定义和访问自定义标记库

12.jsp脚本

1)小脚本: Jsp中的java代码。在用户第一次请求时执行的,它可以使用Jsp页面所定义的变量、方法、表达式等

语法: <%

//java代码

%>

注意,每行java程序段要加;

2)Jsp表达式 (就是一个简化了的out.println语句)

语法: <%=要输出的表达式数据 %>

注意,不能在表达式结尾处加;

3)Jsp声明 用于定义JSP页面中的变量与方法,定义后将成为编译后Servlet类的属性与方法。声明不会产生任何数据输出,声明时可以设置初始值,给其他声明、表达式、小脚本使用。

语法:

<%! //声明语句 %>

e.g. <%@ page language=”java” contentType=”text/html; charset=UTF-8″

pageEncoding=”UTF-8″%>

例子

<%!

//此处声明的变量将成为此JSP页面的全局变量

int age1=21;

int age2=16;

String msg=”提醒:”;

%>

<%!

//此处声明的方法将成为此JSP页面的公共方法

String printStr(int age){

if(age<18){

return “你是未成年人,不可以买烟”;

}else{

return”你成年了可以买烟”;

}

}

%>

你的年龄是:<%=age1 %>,<%=msg %><%=printStr(age1) %>

你的年龄是:<%=age2 %>,<%=msg %><%=printStr(age2) %>

<%

int age=21;

String str=””;

if(age<18){

str=”你是未成年人,不可以买烟”;

}else{

str=”你成年了可以买烟”;

}

%>

你的年龄是:<%=age %>,<%=age %><%=”提醒”+str %>

收藏
分享
海报
0 条评论
130
上一篇:PHP到MySQL数据查询过程详解,用数据库的程序员必学 下一篇:PHP面向对象编程方式详细解释,你学会了吗?

本站已关闭游客评论,请登录或者注册后再评论吧~

忘记密码?

图形验证码