java_第一年_JavaWeb(10)】的更多相关文章

JavaWeb的两种开发模式 JSP+JavaBean框架:JavaBean负责封装数据.提供方法,JSP负责处理用户请求和显示数据:只能开发较为简单的业务: JSP+JavaBean+Servlet:这是一种MVC开发模式:控制器为Servlet.视图采用JSP.模型采用JavaBean: 理解MVC模型: 需了解Model(M).View(V).Controller(C)概念: M(模型):数据模型.提供展示数据,包括数据 和行为: V(视图):负责模型展示,即客户直观看到的东西: C(控制…
EL :EL表达式主要用于获取数据.执行运算.获取对象.调用java方法: 获取数据 语法:"${标识符}" 会调用pageContext.findAttribute方法,从page.request.session.application四个域中获取对象,若找不到会返回"",是空字符串而不是null: 执行运算 语法:${运算表达式} 获取对象 <body> ${pageContext} <% pageContext.setAttribute(&q…
JSTL标签库——核心标签库 为了弥补html标签的不足,为了更加方便地在jsp页面中使用java逻辑代码,JSTL标签库因运而生,而其中的佼佼者,被恩宠最多的就是核心标签库了: 核心标签库从功能上可分为4类: 表达式控制标签:out标签.set标签.remove标签.catch标签 流程控制标签:if标签.choose标签.when标签.otherwise标签 循环标签:forEach标签.forTokens标签 URL操作标签:import标签.url标签.redirect标签.param标…
自定义标签:主要是用来移除JSP页面中的java代码. 先从一个简单的案例了解其怎么移除代码: 一个正常的jsp页面: <%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML> <html> <head> <title>输出客户端的IP</title> </head> <body> 你的IP地址是(使用…
Filter过滤器,Servlet API 中提供了一个Filter接口,用于实现用户在访问某个目标资源前对其进行拦截: 拦截原理:web服务器通过Filter接口调用doFilter方法,会传递一个filterChain对象进来,该对象也提供了doFilter方法,可根据是否调用该方法决定是否调用web服务器web资源的service方法: 通过Filter过滤器可达到以下目的: 调用目标资源之前,先执行一段代码: 是否让用户访问web资源 调用目标资源后,执行一段代码 Filter的开发除了…
SimpleTag标签 定义了五个方法:setJspContext.setJspBody.setParent和getParent以及最重要的doTag方法(完成了所有的业务逻辑): setJspContext方法:将JSP页面的pageContext对象传递给标签处理器对象 setJspBody方法:将代表标签体的JspFragment对象传递给标签处理器对象 setParent方法:将父标签处理器对象传递给当前标签处理器 getParent方法:获取当前标签的服标签处理器对象 doTag方法:…
JavaBean是一个遵循某种特定写法的Java类,有以下特点: 必需具有一个无参的构造函数 属性必需私有化 私有化的属性必需通过public类型的方法暴露给其它程序,其方法命名也有一定的规范 范例: package lzj.learn;public class Person{ private String name; private String age;//私有化的属性 public Person(){ }//无参的构造函数: public String getName(){ return…
前面说到,JSP在运行时会被编译成Servlet源代码,通过_jspServlet方法处理请求,此时该方法会传递和提供9个与web开发相关的对象进行使用,开发人员在JSP页面通过对这些变量即可引用这9大变量: 其中的request.response.session.application(servletContext).config在前面的博客已经或多或少有对其介绍,这篇重点说下pageContext.out.page这3对象: page对象:把当前的jsp页面当做一个对象使用,在开发中很少使用…
JSP执行过程 客户端发出请求访问JSP文件 JSP Container将要访问的JSP文件转译为Servlet的源代码(转译时期),并将其编译成.class文件(编译时期): 执行编译后的.class文件并将结果返回给客户端(请求时期) 在转译后的Servlet的源代码中(.java),存在_jspService的方法,该方法将JSP中的java代码原封不动地翻译出来,而其中的html则通过out.write("<html标签>\r\n")这样的方法翻译出来: JSP声明…
会话 会话:浏览器从打开一个进程访问服务器到该浏览器关闭,我们称之为一个会话: 在浏览器和服务器交互期间,会不可避免地产生一些数据,而为了为每个用户保存其对应的数据,可使用两种技术:Cookie和Session: Cookie 客户端技术,服务器会把用户的数据以cookie的形式写给每个客户端,当其再次访问时,就会携带相关的数据,这样使得服务器可以区分客户端处理数据: Cookie在java中是通过javax.servlet.http.Cookie类创建的:其提供的方法有: Cookie(Str…
HttpServletRequest对象 通过HttpServletRequest对象可获取客户端在访问服务器时,请求的所有信息 获取客户机的信息 getRequestURL:返回客户端发出请求时的完整URL getRequestURI:返回请求行中的部分资源名名称 getQueryString:返回请求中的参数部分 getRemoteAddr:返回请求中客户机的IP地址 ...... String requestURL= request.getRequestURL; String reques…
HttpServletResponse对象 向客户端发送数据的方法: 通过getOutputStream()方法得到OutputStream对象,再通过write发送 通过getWriter()方法得到PrintWriter对象,再通过write发送 发送响应头的方法: addDateHeader(java.lang.String name, long data) addHeader(java.lang.String name,String value) addIntHeader(java.la…
ServletConfig对象 可以通过web.xml文件中的<init-param>标签来初始化参数,这些参数会在创建servlet实例时将其封装到ServletConfig对象中,并在调用service中的init方法时将其传递给servlet: 设置参数: <init-param> <param-name>name</param-name> <param-value>lzj</param-value> <init-para…
HTTP协议 HTTP协议——超文本传输协议,用于定义web浏览器和web服务器之间数据交换的过程,遵守一定的通讯的格式: HTTP请求——包括请求行和多个信息头 请求行:包含请求方式(常用的GET.POST等).URL(可附加参数,在URL后接?,若多个数据可用&隔开).HTTP的版本号 信息头: Accept:表示浏览器所支持的数据类型 Accept-Charset:表示浏览器所支持的字符集 Accept-Language:表示浏览器的语言环境 Accept-Encoding:表示浏览器支持…
注:此系列javaweb的知识是我在一位“孤傲苍狼”的园友学习后记下来的笔记,并非原创^_^ Web开发的基本概念 web应用程序——提供浏览器访问的程序,也成为web应用,包含静态或动态资源:所谓的动态资源,是指web的页面效果会因事因人而变,会通过程序运行和连接数据库后取出不同的数据: 而这些web应用资源需通过web服务器管理后才能被外界访问,这个过程称为虚拟目录的映射: web服务器——是指一种被动的计算机程序,接受请求,处理请求并返回浏览器所请求的资源: 初学Web开发我用的是Tomc…
孤荷凌寒自学python第八十天开始写Python的第一个爬虫10 (完整学习过程屏幕记录视频地址在文末) 原计划今天应当可以解决读取所有页的目录并转而取出所有新闻的功能,不过由于学习时间不够,只是进一步优化了自定义函数的写法. 一.优化并新增了几个操作word文档的函数 ``` #!/usr/bin/env python3 # -*- coding: utf-8 -*- import string import time import random from docx.enum.style i…
Commons-dbutils是一个开源的JDBC工具类库,对JDBC进行封装,简化编码的工作量,包含的API: org.apache.commons.dbutils.QueryRunner org.apache.commons.adutils.ResultSetHandler org.apache.commons.dbutils.DbUtils(工具类) QueryRunner类 提供方法: public Object query(Connection conn,String sql,Obje…
实现HttpURLConnection代码的时候,遇到了问题. 怎样点击途中Send Request按钮,没有任何改变. 最后将MainActivity中的一段代码URL url = new URL("http://www.baidu.com"); 替换成URL url = new URL("http://www.qq.com");就好了. 很不可思议,我也是.很偶然的看到一位博主将网址替换为QQ主页,抱着试一试的心态更改了书中的网址.于是我看到了想要的结果: 最后…
MySQL 作为最典型的关系型数据库管理系统,由于其体积小.速度快.总体拥有成本低,尤其是其开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库.MySQL 社区版的功能也足够我们的日常使用.MySQL 的安装过程不是很难,但是有几个点还是要需要注意的.下面,我将以 Windows 10 为例,讲一下 MySQL 社区版的安装. 首先,我们进入 MySQL 官网,下载 MySQL 社区版.https://dev.mysql.com/downloads/mysql/ 这里,我们…
上篇说到,通过JDBC可实现java编程程序和mysql数据库进行连接并交互,而交互后所形成的结果集是通过ResultSet对象来操作的. 创建ResultSet对象: stmt = conn.createStatement(int RSType,int RSConcurrency); //或者stmt = conn.prepareStatement(String SQL,int RSType,int RSConcurrency); //或者stmt = conn.prepareCall(Str…
JDBC(Java Data Base Connectivity),用于实现java语言编程与数据库连接的API. 数据库驱动:应用程序并不能直接使用数据库,而需要通过相应的数据库驱动程序后再操作数据库:而JDBC就是实现应用程序去加载具体的驱动: 应用程序---JDBC--->驱动程序-->数据库 建立JDBC连接: 导入JDBC包: import java.sql.* 注册JDBC驱动程序并创建连接对象conn: Class.forName("com.mysql.jdbc.Dri…
DataBaseMetaData对象:由Connection.getDataBaseMetaData()方法获得,可以用来获取数据库的元数据,提供的方法有: getURL():返回一个String类,代表数据库的URL,例:jdbc:mysql://localhost:3306/dataname; getUserName:返回连接数据库管理系统的用户名,例:root@localhost: getDatabaseProductName():返回数据库的产品名,例:MYSQL getDatabase…
事务概念:事务指逻辑上的一组操作,组成这组操作的各个单元,要不全部成功,要不全部不成功: 开始事务:start transaction 提交事务:commit 回滚事务:rollback 事务的四大特性 原子性:是指事务是一个不可分割的工作单位,事务中的操作要么全部成功,要么全部失败 一致性:事务必须使数据库从一个一致性状态变换到另外一个一致性状态 隔离性:多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要相互隔离 持久性:一个事务一旦被提…
注:该篇只是为了小白的我熟悉下JDBC的代码,练习篇 在mysql中建test测试库,并创建一张employees表,加入一些数据如下图: 通过JDBC连接对表中数据进行添加: package lzj_learn; import java.sql.*; import java.io.*; import java.util.*; public class test2 { static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";…
事务 我们在通过JDBC连接数据库并开始交互时,默认情况下是自动提交的,有时由于为了保持业务流程的完整性.提高性能或是使用分布式事务,需要启动支持事务,此时的方法是调用Connection对象的setAutoCommit():传递布尔值false关闭默认自动提交: conn.setAutoCommit(false); 提交事务: conn.setAutoCommit(); 数据库回滚操作: conn.rollback(); 配合数据库的回滚,我们可以先设置保存点,通过Connection对象的方…
第 10 章 数组和指针 在本章中你将学习下列内容: · 关键字: static (静态) · 运算符: & * (一元) · 创建与初始化数组的方法. · 指针(基于已学的基础知识)及指针和数组间的关系. · 编写使用数组函数. · 二维数组. 人们借助计算机来记录每月开支,日降水量,季度销售额,以及每周收支情况等.企业借助计算机来管理员工薪水,仓库存货清单,以及客户交易的记录等.程序员不可避免地需要处理大量的想到关联的数据.采用数组通常能够有效便捷地处理这类数据.第 6 章“C 控制语句:循…
注:写这篇文章时我并未參加CSDN开源夏令营,也不确定是否会參加以及是否能參加上. 欣闻CSDN举办了"CSDN开源夏令营"活动.第一感觉是CSDN作为活动的组织者是很值得称赞的.作为參加了Google Summer of Code的人,这里对照下CSDN开源夏令营和Google Summer of Code.纯粹是个人见解,仅供參考. 开源组织 在了解有这个活动后,第一反应是这不就是中国的GSoC吗,先给CSDN大大的一个赞.但冷静一想:国内有合格的开源组织吗?这里不是贬低国内开源活…
ArcPad是安装在手持设备或者移动终端的一个外业ArcGIS产品,也就是说ArcPad是Esri的一款软件产品,而不是硬件设备哦.尽管不比ArcGIS Desktop功能复杂缤纷,可是对于野外作业.数据採集等工作来说,算是功能十分丰富了. 说到安装,首先要了解系统要求,http://resources.arcgis.com/zh-cn/content/arcpad/10.0/system-requirements.ArcPad 仅支持 Windows Mobile 移动平台(5.0以上),最高…
ArcPad它被安装在一个手持装置或业内外的移动终端ArcGIS产品,那ArcPad这是Esri软件产品,哦,不是硬件. 虽然优于ArcGIS Desktop功能复杂的乐趣,是对于野外作业.数据採集等工作来说,算是功能十分丰富了. 说到安装.首先要了解系统要求,http://resources.arcgis.com/zh-cn/content/arcpad/10.0/system-requirements.ArcPad 仅支持 Windows Mobile 移动平台(5.0以上),最高可使用Wi…
题目描述 Description 陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果.苹果成熟的时候,陶陶就会跑去摘苹果.陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试. 现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目.假设她碰到苹果,苹果就会掉下来.  输入输出格式 Input/output 输入格式:输入文件apple.in包括两行数据.第一行包含10个100到200之间(包括100和20…