首页 > 编程语言 > 详细

JavaEE-01 JSP动态网页基础

时间:2018-02-28 19:19:26      阅读:414      评论:0      收藏:0      [点我收藏+]

学习要点

  • B/S架构的基本概念
  • Web项目的创建和运行
  • JSP页面元素
  • MyEclipse创建和运行Web项目
  • Web程序调试

 

Web简史

web前端技术演进三阶段

  • WEB 1.0:信息广播。 
  • WEB 2.0:信息交互。 微博、博客等。
  • WEB 5.0:移动互联网。

技术分享图片

 

动态网页服务器端技术演进

 

技术分享图片

 

主流web程序应用平台

 

性能比较

LAMP

JavaEE

ASP.NET

运行速度

较快

快

一般

开发速度

非常快

慢

一般

运行损耗

一般

较小

较大

难易程度

简单

难

简单

运行平台

Linux/Unix/Windows

绝大多数平台

仅Windows平台

 

 

软件架构

C/S架构

技术分享图片

优点:响应速度快;个性化定制;事务处理能力强,减轻服务器压力;安全性高。

缺点:C端维护工作量大;不利于企业快速部署应用。

 

B/S架构

技术分享图片

 

优点:分布广,只要有互联网的浏览器即可。部署灵活;维护方便。跨平台。

 

C/S与BS混合架构

技术分享图片

企业内部操作数据采用C/S架构:外部用户不直接访问数据库服务器,保证企业数据库的相对安全。企业内部用户的交互性较强,数据操作响应速度较快。

企业外部采用B/S架构:企业外部用户修改和维护数据时,速度较慢,较烦琐,数据的动态交互性不强。适合简单数据查询和确认。

 

B/S架构

定义

技术分享图片

常见web服务器分成三类:不带应用程序的服务器(存放html文件等)、带应用程序的服务器(例如可以存放JSP文件)、带应用程序和数据库的服务器(例如JSP+数据库)。

 

工作原理

技术分享图片

B/S结构采用请求/响应模式进行交互。

 

HTTP

HTTP协议概述

HTTP规范1.0和1.1定义了HTTP消息格式。HTTP报文由从客户机到服务器的请求和从服务器到客户机的相应构成,所以HTTP消息分为请求消息和响应消息两类。

技术分享图片

请求行

技术分享图片

状态行

  • 状态行格式如下:

HTTP-Version Status-Code Reason-Phrase CRLF

其中,HTTP-Version表示服务器HTTP协议的版本;Status-Code表示服务器发回的响应状态代码;Reason-Phrase表示状态代码的文本描述。状态代码由三位数字组成,第一个数字定义了响应的类别,且有五种可能取值。

  • 常见状态码:
  1. 200 OK:客户端请求成功。
  2. 400 Bad Request:客户端请求有语法错误,不能被服务器所理解。
  3. 401 Unauthorized:请求未经授权,这个状态代码必须和WWW-Authenticate报头域一起使用。
  4. 403 Forbidden:服务器收到请求,但是拒绝提供服务。
  5. 404 Not Found:请求资源不存在,举个例子:输入了错误的URL。
  6. 500 Internal Server Error:服务器发生不可预期的错误。
  7. 503 Server Unavailable:服务器当前不能处理客户端的请求,一段时间后可能恢复正常,举个例子:HTTP/1.1 200 OK(CRLF)。

在浏览器查看请求和响应信息

技术分享图片

 

URL

Uniform resource Locator,统一资源定位符

格式:

http://<IP地址>:[端口号]/路径/[?<查询信息>]

例如:

http://www.etc.com/book/index.html

http:超文本传输协议。FTP,telnet

www:代表一台web服务器

etc.com:服务器域名

book:站点上的目录

index.html:book文件夹中的一个HTML文件,即网页。

 

Web应用程序的部署

tomcat服务器的安装

技术分享图片

  • 解压缩版本tomcat注意事项

添加系统变量,名称为CATALINA_HOME,设置值为Tomcat的安装目录。

  • 启动和停止tomcat服务器

在IE地址栏中输入http://localhost:端口号。

 

tomcat服务器目录

目录

 说明

/bin

存放各种平台下用于启动和停止Tomcat的脚本文件

/conf

存放Tomcat服务器的各种配置文件

/lib

存放Tomcat服务器所需的各种JAR文件

/logs

存放Tomcat的日志文件

/temp

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

/webapps

当发布Web应用时,默认情况下会将Web应用的文件存放于此目录中

/work

Tomcat把由JSP生成的Servlet放于此目录下

 

 

tomcat端口配置

通过配置tomcat目录下conf中的server.xml文件修改Tomcat端口号

<Connector port="8080" protocol="HTTP/1.1"
        connectionTimeout="20000"
        redirectPort="8443" />

  

上机练习

安装tomcat,启动和停止tomcat,修改tomcat端口号。并测试。

 

Web应用程序

手动创建和部署web项目

1、在开发环境中创建web项目

技术分享图片

在web-inf/web.xml中配置默认访问启始页面。

2、发布为war文件,拷贝到Tomcat 7.0\webapps目录下,启动tomcat。观察webapps目录,可以看到war自动生成web应用程序。在ie中访问项目。

3、在服务器端web项目的目录结构: 

目录

说明

/

Web应用的根目录,该目录下所有文件在客户端都可以访问(JSP、HTML等)

/WEB-INF

存放应用使用的各种资源,该目录及其子目录对客户端都是不可以访问

/WEB-INF/classes

存放Web项目的所有的class文件

/Web-INF/lib

存放Web应用使用的JAR文件

 

上机练习

1、手动创建一个Web项目,实现项目发布,并能通过浏览器输入网址访问。

2、在myeclipse中创建一个项目导出为war文件,部署到服务器中并访问。

 

开发环境myeclipse和tomcat的整合

myeclipse和tomcat的整合

进入:windwos->prefereces->myeclipse->servers->tomcat7.x

启用tomcat7服务器,关联JDK。

关闭内置tomcat服务器。

注意:设置只针对工作空间有效

技术分享图片技术分享图片

 

创建项目和部署项目

技术分享图片

在myeclipse中启动tomcat服务器

技术分享图片

上机练习

在myeclipse中创建项目,在myeclipse中部署项目,在myeclipse中启动服务器,在ie浏览器中访问项目。

 

 

JSP概念

JSP:Java Server Pages。在HTML中嵌入Java脚本代码。

例如:

技术分享图片

 

在ie地址栏输入http://localhost:8080/chapter01/index.jsp

技术分享图片

 

运行原理

技术分享图片

 

JSP页面元素

page指令

  • 作用

通过设置内部的多个属性定义整个页面的属性。

  • 语法格式(一个属性中的多个值采用“,”号隔开)
<%@ page 属性1="属性值" 属性2="属性值1,属性值2"… 属性n="属性值n"%>

  

  • 常用属性
属性 描述 默认值
language 指定JSP页面使用的脚本语言 java
import 通过该属性来引用脚本语言中使用到的类文件 无
contentType 用来指定JSP页面所采用的编码方式

text/html,ISO-8859-1

 

小脚本与表达式

技术分享图片

 

表达式:显示数据,系统将其作为一个值来进行计算和显示。(不能以;结尾)

 

上机练习

需求描述:编写JSP页面,计算1—100之间的所有素数之和

技术分享图片

提示:1、素数——在一个大于1的自然数中,除了1和此整数自身外,不能被其他自然数整除的数。2、使用out内置对象输出信息。

 

声明

在编写JSP页面程序时候,有时需要为Java脚本定义成员变量和方法,这时就需要使用JSP声明来实现。

声明语法格式:

<%! Declaration;[ Declaration;]…%>

  

示例:假如以下代码需要在页面中多次使用,如何处理?

<%
	SimpleDateFormat formater = new SimpleDateFormat("yyyy年 MM月dd日");
	String strCurrentTime = formater.format(new Date());
%>

  

使用声明

技术分享图片

 

JSP中的注释

技术分享图片

注意:HTML注释在JSP文件被编译后保留,JSP注释则被丢弃。重要信息的注释不要使用HTML注释。

 

总结

技术分享图片

上机练习

需求描述:

编写JSP页面,计算2000—3000年中存在几个闰年。

实现思路:

1. 声明方法boolean leapYear(int year),用于判断是否是闰年

2. 声明一个变量count ,用于统计闰年的个数

3. 设置循环,条件是从2000至3000年

4. 在循环内调用boolean leapYear(int year),根据返回结果,改变count的变量值

提示信息:

闰年的判断条件:能够被4整除而不能被100整除,或者能够被400整除。

 

JSP执行过程

Web容器处理JSP文件请求需要经过3个阶段

  1. 翻译阶段
  2. 编译阶段
  3. 执行阶段

技术分享图片

第一次请求之后,Web容器可以重用已经编译好的字节码文件

技术分享图片

如果对JSP文件进行了修改,Web容器会重新对JSP文件进行翻译和编译。

 

 

Web程序的调试与排错

运行Web程序时常犯的错误

  • 未启动tomcat
  • 未部署web应用
  • URL输入错误
  • 目录不能被引用
  • JSP脚本错误

错误调试

  • 未启动tomcat

如果服务器无法启动,需要修改端口号。

  • 未部署web应用

确认项目已经部署到tomcat服务器上。

  • URL输入错误

404错误,访问了不可访问的url资源。

  • 目录不能被引用

例如把文件创建到web-inf中,导致404错误。

  • JSP脚本错误

500错误。

按照java程序调试方式排错:阅读代码逻辑、输出数据、debug。

 

上机练习

需求描述:

  • 将新闻发布系统的静态页面转换成JSP页面后部署到Web项目中,并且可以通过浏览器访问各JSP页面。
  • 创建新闻发布系统数据库。
  • 通过MyEclipse统一设置字符集编码格式为“UTF-8
  • 在HTML页面中加入page指令
  • 将HTML的后缀名改为.jsp

提示: 

  • 通过MyEclipse统一设置字符集编码格式为“UTF-8
  • 在HTML页面中加入page指令
  • 将HTML的后缀名改为.jsp

数据库模型图

新闻主题表:topics

字段

数据类型

是否为空

备注

tid

int

否

新闻主题编号,主键,自增

tname

char(50)

否

新闻主题,非空,唯一约束

 

新闻表:news

字段

数据类型

是否为空

备注

nid

int

否

新闻编号,主键,自增

ntid

int

否

新闻主题编号,外键

ntitle

char(100)

否

新闻标题

nauthor

char(50)

否

作者

ncreatedate

datetime

是

发布日期,默认当前时间

npicpath

char(200)

是

图片路径

ncontent

text

否

新闻内容

nmodifydate

datetime

是

编辑日期

nsummary

char(255)

否

新闻概要

 

新闻评论表:comments

字段

数据类型

是否为空

备注

cid

int

否

评论编号,主键,自增

cnid

int

否

新闻编号,外键

ccontent

text

否

评论内容

cdate

datetime

否

评论日期,默认当前时间

cip

char(100)

是

评论人IP地址

cauthor

char(100)

是

评论作者

 

系统用户表:users

字段

数据类型

是否为空

备注

uid

int

否

用户编号,主键,自增

uname

char(20)

否

用户名,非空,唯一约束

upwd

char(20)

否

用户密码,非空

技术分享图片

JavaEE-01 JSP动态网页基础

原文:https://www.cnblogs.com/rask/p/8484928.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!