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

 

 

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

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

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 实现微信机器人开发

    实现微信机器人开发首先微信聊天机器人,是一种通过自然语言模拟人类进行对话的程序。通常运行在特定的软件平台上,如PC平台或者移动终端设备平台。测试问文档:https://www.wkteam.cn/文档测试过程中实现多项功能进行管理登录模块◆登录微控平台member/login◆获取微信二维码user/login◆执行微信登录getIPadLoginInfo◆获取联系人列表(群、好友)getAllContact◆二次登录(退出微信号需要再次登录调用此接口即可)secondLogin◆退出微信l

    2022年6月15日
    59
  • ETH被冻结_微信冻结显示什么界面

    ETH被冻结_微信冻结显示什么界面如果我们的电脑在启动挖矿软件的时候,发现界面有停顿,Miner都会冻结。有时矿工会随机冻结,直到按下任何键。而我们要做下如下设置则可以解决这个问题。1、cmd命名行界面;2、右击窗口,点属性大力矿工致力于挖矿软件研究,欢迎大家加入群:621159725,一起讨论ETH挖矿。…

    2022年10月15日
    1
  • linux下安装mysql-5.7.25详细步骤

    linux下安装mysql-5.7.25详细步骤第一步:下载进入到mysql官网下载自己对应版本的mysql,下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads我这里下载mysql-5.7.25-linux-glibc2.12-x86_64.tar.gz版本也可以进入linux后用命令下载wgethttps://cdn.mysql.com/…

    2022年6月12日
    42
  • php漏洞 乌云,GitHub – grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org…

    php漏洞 乌云,GitHub – grt1st/wooyun_search: 乌云公开漏洞、知识库搜索 search from wooyun.org…wooyun_search乌云公开漏洞、知识库搜索0x00.介绍灵感来源于hanc00l的github项目wooyun_publicwooyun_public基于flask或者tornado,而本项目可以布置在apache、nginx等web服务器上。如果你有wooyun的静态网页数据,那么我们可以开始了!整个项目包括两个部分,第一部分是索引,将网页信息存储进数据库;第二部分是搜索,从数据库中查找…

    2025年6月8日
    3
  • MybatisCodeHelperNew-2.9.3-183-204激活码-激活码分享

    (MybatisCodeHelperNew-2.9.3-183-204激活码)JetBrains旗下有多款编译器工具(如:IntelliJ、WebStorm、PyCharm等)在各编程领域几乎都占据了垄断地位。建立在开源IntelliJ平台之上,过去15年以来,JetBrains一直在不断发展和完善这个平台。这个平台可以针对您的开发工作流进行微调并且能够提供…

    2022年3月30日
    151
  • 动态迁移_动作迁移

    动态迁移_动作迁移概念在虚拟化环境中的迁移,又分为动态迁移,静态迁移,也有人称之为冷迁移和热迁移,或者离线迁移在线迁移;静态迁移和动态迁移的区别就是静态迁移明显有一段时间客户机的服务不可用,而动态迁移则没有明显的服务暂停时间,静态迁移有两种1,是关闭客户机将其硬板镜像复制到另一台宿主机系统,然后回复启动起来,这种迁移不保留工作负载,2是,两台客户机公用一个存储系统,关闭一台客户机,防止其内存到另一台宿主机,这样做的

    2025年7月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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