jsp web应用开发_JSP页面

jsp web应用开发_JSP页面第1章动态网站开发基础1.        动态网页是指服务器端运行的程序或者网页,它们会随不同客户,不同时间,返回不同的内容。 2.        随着Internet技术的兴起,B/S结构是对C/S结构的一种变化或者改进的结构。在这种结构下,程序完全放在应用服务器上,并通过应用服务器同数据库服务器进行通信。 3.        开发JSP动态网站的步骤如下:a)

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺


第1章 动态网站开发基础

1.         动态网页是指服务器端运行的程序或者网页,它们会随不同客户,不同时间,返回不同的内容。

 

2.         随着Internet技术的兴起,B/S结构是对C/S结构的一种变化或者改进的结构。在这种结构下,程序完全放在应用服务器上,并通过应用服务器同数据库服务器进行通信。

 

3.         开发JSP动态网站的步骤如下:

a)         创建一个Web项目

b)        设计Web项目的目录结构

c)        编写Web项目的代码

d)        部署Web项目

e)         运行Web项目

 

4.         做Web程序开发时,要避免如下错误:

a)         未启动Tomcat服务,或者没有在预期的端口中启动Tomcat服务。

b)        未部署Web应用,就试图运行Web程序

c)        运行时,URL输入错误。

d)        存放文件的目录无法对外引用,如文件放入了Web-INF、Mate-inf等文件夹中。

 

 

第2章 用集合存储对象

1.         集合框架

由于数组在存放元素时必须要确定初始元素的个数。所以引入使用集合存储。

 

2.         Java集合框架包含的内容

java集合框架 提供了一套性能优良、使用方便的接口和类。完整的Java集合框架位于java.uril包中,包含众多的接口和类。

a)         接口

Collection是最基本的集合接口,一个Collection代表一组元素。

List接口继承自Collection接口。List是有序集合,允许有相同的元素。

Map提供key(键)到value(值)的映射。一个Map中不能包含 相同的key,每个key只能映射一个value。

b)        具体类

实现List接口的常用的类有ArrayList和LinkedList。它们都可以容纳所有类型的对象,包括null。

ArrayList实现了可变大小的数组。它的优点在于遍历元素和随机访问元素的效率比较高。

LinkedList可以在其首部或尾部进行插入或者删除操作。

HashMap是Map接口的实现类,实现了一个键到值的映射的哈希表。

 

3.         List接口和ArrayList类

 

List接口中定义的各种常用方法

返回类型

方  法

说  明

boolean

add(Object o)

在列表的末尾顺序添加元素,起始 索引位置从0开始

int

size()

返回列表中的元素个数

Object

get(int index)

返回指定索引位置处的元素

注意:取出的元素是Object类型,使用前需要进行强制类型转换

void

add(int index; Object o)

在指定的索引位置添加元素

注意:索引位置必须介于0和列表中元素个数之间

boolean

contains(Object o)

判断列表中是否存在指定元素

boolean

remove(Object o)

从列表中删除元素

 

4.         List接口和LinkedList类

LinkedList的一些特殊方法

返回类型

方  法

说   明

void

addFirst(Object o )

在列表的首部添加元素

void

addList(Object o)

在列表的末尾添加元素

Object

getFirst()

返回列表中的第一个元素

Object

getLast()

返回列表中的最后一个元素

Object

removeFirst()

删除并返回列表中的第一个元素

Object

removeLast()

删除并返回列表中的最后一个元素

 

5.         Map接口和HashMap类

HashMap的常用方法

返回类型

方  法

说  明

Object

put(Object key,Object value)

以“键-值对”的方式进行存储

注意:键必须是唯一的,值可以重复。如果试图添加重复的键,那么最后加入的键-值对将替换掉原先的键-值对

Set

keySet()

返回键的集合

Collection

values()

返回值的集合

boolean

containsKey(Object key)

如果存在由指定的键映射的“键-值对”,返回true

Object

get(Object key)

根据检返回相关联的值,如果不存在指定的键,返回null

Object

remove(Object key)

删除由指定的键映射的“键-值对”

 


第3章 访问数据库

1.         JDBC API

JDBC API可做三件事:与数据库建立连接、发送SQL语句、处理结果。

JDBC API工作的4个环节:

(1)DriverManager类:依据数据库的不同,管理JDBC驱动。

(2)Connection接口:负责连接数据库并担任传送数据的任务。

(3)Statement接口:由Connection产生,负责执行SQL语句

(4)ResultSet接口:负责保存Statement执行后所产生的查询结果。

 

2.         JDBC程序的代码模块

1)        把JDBC驱动类装载入Java虚拟机中。

Class.forName(“JDBC驱动类的名称”)

2)        加载驱动,并与数据库建立 连接。

Connection con = DriverManager.getConnection(数据连接字符串,数据库用户名,密码)

3)        发送SQL语句,并得到结果集

Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(“select a,b,c from table1”);

4)        处理结果

while(rs.next()){

       int x = rs.getInt(“a”);

       String s = rs.getString(“b”);

       float f = rs.getFloat(“c”);

}

3.         Statement语句

Statement接口中执行SQL命令的三个方法:

a)         ResulSet executeQuery(String sql):可以执行SQL查询并获取到ResultSet对象。

b)        int executeUpdate(String sql):可以执行插入、删除、更新等操作,返回值是执行该操作所影响的行数。

c)        boolean execute(String sql ):这是一个最为一般的执行方法,可以执行任意SQL语句,然后获得一个布尔值,表示是否返回ResultSet。

 

4.         PreparedStatement语句

PreparedStatement接口继承自Statement接口,PreparedStatement比普通的Statement对象使用起来更加灵活、更有效率。

 

PreparedStatement实例包含已编译的SQL语句,SQL语句可具有一个或多个输入参数。这些输入参数的值在SQL语句创建时未被指定,而是为每个输入参数保留一个问号(“?”)作为占位符。

PreparedStatement pstmt = con.prepareStatement(“update table set a= ? where b = ? ” );

 

在执行时:pstmt.setLong(1.123456789);    pstmt.setInt(2,10);

PreparedStatement对象的executeUpdate()方法 可以执行对数据的增、删、改的操作。返回一个int类型的值。

executeQuery()方法 可以执行对数据的查询。返回一个结果集。

 

 

第4章 JSP简介

1.         JSP的页面组成

JSP是通过在HTML中嵌入Java脚本语言来响应页面动态请求。

JSP页面由静态内容、指令、表达式、小脚本、声明、标准动作、注释等元素构成。

 

a)         指令

JSP指令一般也“<%@”开始,以“%>”结束。

例:

<%@ page language=”java” import=”java.util.*,java.text.*” contextType=”text/html; charset = GBK”%>

 

b)        小脚本

小脚本可以包含任意的Java片段,编写方法就是将Java程序片断插入到<% %>标记中。

 

例:

<%

       //使用预定格式将日期转换为字符串

       SimpleDateFormat formater = new SimpleDateFormat(“yyyy年MM月dd日”);

       String strCurrentTime = formatter.format(new Date());

%>

c)        表达式

当需要在页面中获取一个Java变量或者表达式值时,可以使用表达式。基本语法是:<%=Java表达式%>

例:

<%=strCurrentTime%>

d)        注释

<!–这是HTML注释(客户端可以看到源代码)–>

<%–这是JSP注释(客户端不可以看到源代码)–%>

<%  /* 多行注释 */  %>

<%

       //使用预定格式将日期转换为字符串

%>

 

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

l         翻译(translation)阶段。JSP文件会被Web容器中的JSP引擎转换成Java源码。

l         编译(compilation)阶段。Java源码会被编译成可执行的字节码。

l         执行阶段。容器接受了客户端的请求后,执行编译成字节码的JSP文件。处理完请求后,容器把生成德页面反馈个给客户端进行显示。

 

第5章 JSP指令和脚本元素

 

1.         page指令  就是通过设置内部的多个属性来定义JSP文件中的全局特性。page指令只能对当前自身页面进行设置。即每个页面都有自身的page指令。

page指令常用属性

属   性

描   述

language

指令JSP页面使用的脚本语言,默认为Java

import

通过该属性来引用脚本语言中使用到的类文件

contentType

用来指定JSP页面所采用的编码方式,默认为text/html

1)        language属性

page指令中的language属性用来指定当前JSP页面所采用的脚本语言。

例:<%@page language=”java”%>

2)        import属性

通过import属性可以在JSP文件的脚本片段中引用外在的类文件。如果一个import属性引入多个类文件时,需要在多个类文件之间用逗号隔开。

例:

<%@ page import=”java.util.*,java.text.*” %>

 

2.         JSP脚本元素

在JSP页面中可以包含静态内容、指令、表达式、小脚本、声明、标准动作以及注释。

其中,表达式(expression)、小脚本(scriptlet)、声明(declaration)统称为Java脚本元素。用来嵌入Java代码,实现页面动态请求。

 

3.         JSP九个内置对象

1)        out

2)        page

3)        pageContent

4)        request

5)        response

6)        session

7)        application

8)        Exception

9)        config

 

第6章 使用JSP处理客户端请求

 

一、HTML表单

表单的标记是<form>,它的两个重要参数:action和method。

action表示表单要提交到的地点    method表示表单发送的方法。一般用post

 

二、JSP内置对象

1.         request对象

例:

<%

request.setCharacterEncoding(“GBK”);

String titleName=request.getParameter(“titlename”);

%>

request对象的几个常用的方法

方法名称

说   明

String getParameter(String name)

根据页面表单组件名称获取页面提交数据

String[] getParameterValues(String name)

获取一个页面表单组件对应多个值时的用户的请求数据

void setCharacterEncoding(String charset)

指定每个请求的编码,在调用request.getParameter()方法之前进行设定,可以用于解决中文乱码问题

request.getRequestDispatcher(String path)

返回一个javax.servlet.RequestDispatcher对象,该对象的formard方法用于转发请求

 

2.         out对象

例:

<%

out.print(“hello ACCP”);

%>

 

3.         response对象

response对象的常用方法void sendRedirect(String location),这个方法用来将请求重定向到一个不同的URL。

例:

String name = request.getParameter(“userName”);

String pwd = request.getParameter(“pwd”);

if(name.equal(“sa”) && pwd.equals(“sa”)){

       response.sendRedirect(“welcome.jsp”);

}

      

       当需要类型转换时用Integer.parseInt(“获取到的东西”);

       例:int parentTitleId = Integer.parseInt(request.getParameter(“parenttitle”));

 

第7章JSP页面的访问控制

一、JSP内置对象session

session对象用来存储有关用户会话的所有信息

session对象的常用方法:

a)         void setAttribute(String key,Object value):以键/值的方式,将一个对象的值存放到session中去。例如:session.setAttribute(“name”,”admin”); 含义是把字符串admin存放到session中去,它对应的键时name。

b)        Object getAttribute(String key):根据键去获取session中存放的对象的值。

例: String name = (String) session.getAttribute(“name”);  通过名称name的键获取session中存放的对象的值。

 

每个session对象都与浏览器一一对应,也就是说,重新开启一个浏览器窗口。相当于重新创建一个session对象。

 

二、include指令

include指令可以将一些共性的内容写入一个单独的文件中,然后通过include指令引用该文件,从而缓解代码的冗余问题。

例:

<%@ include file=”checklogin.jsp”%>

 

三、内置对象application

application对象的常用方法:

1.              void setAttribute(String key,Object value):以键/值的方式,将一个对象的值存放到application中。

2.              Object getAttribute(String key):根据键去获取application中存放对象的值。

例:

if(rs.next()){

       User logineduser = new User(name,pass);

       session.setAttribute(“Logined_user”,logineduser);

 

List loginedUsers = new ArrayList();   //访问者列表

//全局范围内取出原有的访问者列表

if(application.getAttribute(“Logined_user”) !=null){

       loginedUsers = (List)application.getAttribute(“Logined_user”);

}

//把新登录用户的信息存入访问者列表中

loginedUsers.add(logineduser);

//在全局范围内存入访问者列表

application.setAttribute(“Logined_user”,loginedUsers);

}

 

JSP的几个常用的内置对象

内置对象名称

说   明

out对象

用于向客户输出数据

request对象

主要用于客户端的请求处理

response对象

用于响应客户请求并向客户端输出信息

session对象

用来存储有关用户会话的所有信息

application对象

类似于系统的全局变量,用于实现用户之间的数据共享

page

 

Exception

 

pageContent

 

config

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/179190.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • BCDboot_bcdedit添加启动项

    BCDboot_bcdedit添加启动项源于WindowAIK及网络修复启动示例!BCDboot命令行选项:BCDboot是一种用于快速设置系统分区(或修复系统分区)上的启动环境的工具。BCDboot从计算机上已有的Windows映像复制一套启动环境文件。BCDboot使用%WINDIR%\System32\Config\BCD-Template文件在系统分区上创建新的…

    2022年10月22日
  • jQuery仿阿里云购买选择购买时间长度

    效果:http://hovertree.com/texiao/jquery/61/jQuery仿阿里云购买服务器选择时间长度,操作简单,只需点击所要选的时间段代码:转自:http://hover

    2021年12月22日
  • 架构设计(1)-谈谈架构

    架构设计(1)-谈谈架构1、什么是架构和架构本质在软件行业,对于什么是架构,都有很多的争论,每个人都有自己的理解。此君说的架构和彼君理解的架构未必是一回事。因此我们在讨论架构之前,我们先讨论架构的概念定义,概念是人认识这个世界的基础,并用来沟通的手段,如果对架构概念理解不一样,那沟通起来自然不顺畅。Linux有架构,MySQL有架构,JVM也有架构,使用Java开…

  • 一张图比較 Docker 和 Git:镜像管理设计理念「建议收藏」

    一张图比較 Docker 和 Git:镜像管理设计理念

  • 创业之路_小项目创业网

    创业之路_小项目创业网美国《时代周刊》评论曾经有这样一段话,“在21世纪,改变你命运的只有你自己,别期盼有人会来帮助你。从现在开始,‘学习、改变、创业’是通往新世界的唯一道路”。决心创业并已参加培训的学员勇敢地迈出了第一步,只要能吃苦耐劳,勇于开拓,勤于学习,坚忍不拔,一定能实现自己心中的目标。创业,是一个发现和捕捉机会,并由创造出新颖的产品,提升服务,实现其潜在价值的过程。创业能否成功,与创业者的素质…

  • Python的pywifi模块

    Python的pywifi模块想蹭❤️小姐姐的热点❤️被拒后,我用❤️Python来暴力激活成功教程了WiFi的密码❤️文章目录想蹭❤️小姐姐的热点❤️被拒后,我用❤️Python来暴力激活成功教程了WiFi的密码❤️一、起因背景二、需求分析三、代码实现1、生成密码本2、利用密码本进行自动化的测试3、结果展示四、后续总结一、起因背景这天博主和曾经的一个小姐姐同学凑巧同时坐在了同一辆长途客车上,恰谈之后才了解到原来这位小姐姐家里挺富裕的,居然,开通了无限的流量使用权限,博主心想,既然是老同学了,借用一下这个无限的流量应该是没什么问题吧,反正是

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号