Java Web Basic

webbasic的使用 java的基础练习,一些基础的语句和数据的交互使用,对于代码记忆有帮助; 立即下载

Baidu-Java Web开发入门

Web开发基本概念

Web开发

Q:

  • Web程序入口在哪?Main方法?
  • 有Web服务器就可以开发Web程序吗?
  • BS与CS有什么区别?
  • Java Web开发有什么特别?
  • JavaScript/CSS/HTML分别是什么?

通信协议:HTTP
Web Server: 专门负责处理HTTP请求,返回HTTP响应
Web应用程序:CGI/FASTCGI
Web容器:Tomcat、Jetty
应用服务器:WAS/JBOSS/Geronimo

Cookie是小段文本信息,包含名字,值,最大存活期(MaxAge)等信息。Cookie由Servlet发送给浏览器,在浏览器端被保存,然后在访问同一网站的时候,再由浏览器发回给服务器。
Cookie 可以用来标识用户,记录用户名和密码,已经用户的偏好等。
Cookie 根据最大存活期(MaxAge)又可以分为以下两种:
- 会话Cookie (MaxAge<0):在浏览器被关闭以后Cookie失效
- 持续性Cookie (MaxAge >0):Cookie在规定MaxAge之前有效,不管是否重启机器或者浏览器

Session

HTTP 协议是一种无状态协议
会话提供了一种方法来识别和保存在多个页面进行访问的用户信息。
从进入网站到浏览器关闭所经过的这段时间
Session可以存放用户信息
例子:购物车

HTTP Method

请求格式:

  http://www.baidu.com/    
  GET / HTTP/1.1   
  Host: www.baidu.com     
  User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.0.12) Gecko/20070601      
  Ubuntu/dapper-security Firefox/1.5.0.12     
  Accept:text/xml,application/xml,application/xhtml+xml,text/html   
  Accept-Language: en-us   
  Accept-Encoding: gzip,deflate  
  Accept-Charset: ISO-8859-1,utf-8  
  Keep-Alive: 300   
  Connection: keep-alive   
  Cookie: BAIDUID=36DA5FFA1E69B7CD2D8FF62AA7FE8282;

响应格式和状态码

HTTP/1.x 200 OK   
Date: Wed, 28 Nov 2007 13:43:37 GMT  
Server: BWS/1.0   
Content-Length: 1609  
Content-Type: text/html  
Cache-Control: private   
Expires: Wed, 28 Nov 2007 13:43:37 GMT  
Content-Encoding: gzip

Http状态码
- 1xx:信息响应类,表示接收到请求并且继续处理
- 2xx:处理成功响应类,表示动作被成功接收、理解和接受
- 3xx:重定向响应类,为了完成指定的动作,必须接受进一步处理
- 4xx:客户端错误,客户请求包含语法错误或者是不能正确执行
- 5xx:服务端错误,服务器不能正确执行一个正确的请求

AJAX

Asynchronous JavaScript and XML
不更新整个页面的前提下, 与服务器交互

JSON

http://www.json.org/json-zh.html
一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。
例子
{“name”:”SMITH”,”address”: {“city”:”beijing”,”street”:”chaoyang”,”postcode”:100025}}

层次划分

MVC

层次划分功能示例
Web层处理Web请求、 渲染视图
业务逻辑层*Service/*Manager, 事务控制
数据访问层*DAO
持久化层JDBC/Hibernate/Mybatis

疑问:数据访问层和持久化层的区别?

Java规范

Java SE/Java EE
Servlet/JSP属于Java EE Specification
Java EE 6
- http://www.oracle.com/technetwork/java/javaee/tech/index.html
- Servlet 3.0
- JSP 2.2
- EJB3.0

容器
- Web容器
- EJB容器

Java Application Server
- Websphere
- Jboss
- Geronimo
- ……

Servlet

Servlet就是一个Java语言写成的类。Servlet扩展了Web服务器的功能。

JAVA SERVLET

Servlet 的生命周期由容器来控制
当对应于某个 Servlet 的请求到来的时候,容器会进行如下步骤:
- 如果该 Servlet 的实例不存在:
- 装载 Servlet 的类
- 创建 Servlet 的实例
- 初始化 Servlet 实例 (调用 init 方法)
- 调用service方法 (传入request、response 对象)

  • 如果该 Servlet 的实例已经存在:
    • 直接调用service方法

当容器需要卸载某个Servlet的时候,容器会调用Servlet的destroy方法

event
通过监听Servlet生命周期的event,可以对event进行选择性的响应
- ServletContextEvent v.s. ServletContextListener
- ServletContextAttributeEvent v.s. ServletContextAttributeListener
- HttpSessionEvent v.s. HttpSessionListener
- ServletRequestEvent v.s. ServletRequestListener
- ……

具体可以在部署描述文件(deployment descriptor )中用<listener> 元素来指定event的监听类:

<listener>                     
<listener-class>com.ibm.sample.listeners.MyContextListener</listener-class>   
</listener>

其中,MyContextListener implements javax.servlet.ServletContextListener.
简单Servlet示例:

import javax.servlet.*;  
import java.io.IOException; 
import java.io.PrintWriter;   
public class PrimitiveServlet implements Servlet {     
    public void service(ServletRequest request, ServletResponse response)
    throws ServletException, IOException {      
        System.out.println("From service of PrimitiveServlet");     
        PrintWriter out = response.getWriter();     
        out.print("Hello! Roses are red.");     
        out.print("Violets are blue.");    
    }     
    public void destroy() { }     
    public ServletConfig getServletConfig() {     
       return null;    }     
    public String getServletInfo() {     
       return null;    }     
    public void init(ServletConfig arg0) throws ServletException { }  
} 

接口
- javax.servlet.Servlet
- javax.servlet.ServletContext
- javax.servlet.ServletRequest
- javax.servlet.ServletResponse
- javax.servlet.RequestDispatcher

类
- javax.servlet.GenericServlet

HTTP协议相关
接口
- javax.servlet.http.HttpSession
- javax.servlet.http.HttpServletRequest
- javax.servlet.http.HttpServletResponse

类
- javax.servlet.http.HttpServlet

初始化:
时间:在web容器加载和实例化 Servlet 类之后,在 Servlet 处理来自客户端的请求之前
方法:public void init() 在 Servlet 整个生命周期中只执行一次
任务:对Servlet进行一次性的初始化工作:读取配置信息、资源的初始化,如数据库连接等
在部署描述文件(web.xml)的 Servlet 元素中添加子元素 init-param,设置 init 参数的名称和值
在 Servlet 的 init 方法中,调用 Servlet.getServletConfig 获取 ServletConfig对象的引用
调用 ServletConfig.getInitParameter 获取 init 参数的值
Servlet的service方法:
服务器每次接收到对 Servlet 的请求,都会产生一个新的线程,然后调用 service 方法获取实际服务
在 GenericServlet 中,由如下方法来提供:

public abstract void service (ServletRequest  req, ServletResponse  res)
throws ServletException , IOException

在 HttpServlet 中, 由 doXxx方法来提供, 比如 doPost,doGet 等,根据实际的hTTP 请求类型进行调用

protected void doGet (HttpServletRequest req, HttpServletResponse resp) 
throws ServletException, IOException 

JSP

Web development in Baidu

其他

webbasic学习方法 web(World Wide Web)即全球广域网,也称为万维网,它是一种基于超文本和HTTP的、全球性的、动态交互的、跨平台的分布式图形信息系统。 立即下载

相关推荐

BasicAuth的Java服务端实现

Java 实现HTTP BasicAuth服务端代码,压缩包为Eclipse工程,导入即可运行

web基础--html

WebBasic 1.web应用体系 课程大纲 1.web基础:做网页 2.结构: a.html 勾勒网页结构及内容 b.css 美化网页 c.JavaScript<重点> 呈现动态数据和效果 3.Ja...

a15637303730的博客 248

webbasic

webbasic

学习笔记☞ HTML(一)

1、WEB    1、什么是WEB        web就是互联网上的一种应用程序 - 网页        典型的应用:            1、C / S                Client : 客户端                Server : 服务器            2、B / S                B :Browser 浏览器                ...

赵卫坡的博客 437

从零构建:四轴机械臂D-H参数建模与MATLAB实战指南

本文详细介绍了四轴机械臂D-H参数建模的完整流程与MATLAB实战应用。从机械臂运动学基础出发,解析D-H参数原理与坐标系建立规则,提供MATLAB Robotics Toolbox的安装、模型创建及正逆运动学求解的代码实现。特别针对四轴机械臂的逆运算优化、轨迹规划和奇异位形规避等高级应用给出实用解决方案,是机器人开发者的实战指南。

weixin_29062255的博客 419

数值计算之 插值法(4)切比雪夫零点插值

数值计算之 插值法(4)切比雪夫零点插值前言插值点选取第一类切比雪夫多项式拉格朗日插值多项式的余项切比雪夫零点插值后记 前言 上篇插值法讨论了多项式插值的解,以及龙格现象。本篇将介绍一种在抽取节点时有效降低龙格现象的方法——切比雪夫零点插值。 插值点选取 插值多项式阶数较高时,在取值空间均匀取点,容易出现龙格现象。 即区间边缘的插值结果与原函数差异很大,而区间中央的插值结果相对较好。这表明,高阶多项式插值对区间中央的节点拟合好,而对两端节点拟合效果差。 自然而然会想到,在两端多采样一些节点,在中间少采样一

qq_41035283的博客 1万+

Java小白修炼手册--第三阶段--WebBasic( Web前端)--CSS

WebBasic 网页编程基础 (学习如何开发页面,安装HBuilder) CSS: (学习如何美化页面) Cascading Style Sheet 层叠样式表. 作用: 美化页面 引入方式: 在html页面中添加css样式代码: 如何在html页面中添加css样式代码?总共有三种方式: 1. 内联样式: 在标签的style属性中添加css样式代码, 弊端:不能复用 2. 内部样式: 在head标签里面添加style标签,标签体内写样式代码,弊端:只能在当前页面复用 ...

陳风弥的博客 743

Ubuntu 22.04下Nvidia显卡驱动安装全攻略:从PPA源到避坑指南

本文详细介绍了在Ubuntu 22.04系统下安装Nvidia显卡驱动的完整流程,包括PPA源的使用、旧驱动清理、安装后验证及常见问题解决方案。特别针对机器学习开发者和图形设计师,提供了从基础安装到性能调优的全方位指南,帮助用户避免常见安装陷阱并优化GPU性能。

weixin_29213655的博客 382

java http basic_Java Web 实现 HTTP Basic

下面基于 Servlet 标准 Filter 实现一个 HTTP Basic 登录机制,可以用作测试时的临时发布用。部分函数利用了 AJAXJS 库。package com.ajaxjs.web;import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.s...

weixin_42493060的博客 358

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 827

ORB-SLAM2算法4之KITTI开源数据集运行ORB-SLAM2生成轨迹并用evo工具评估轨迹

ORB-SLAM2算法1 已成功编译安装ORB-SLAM2到本地,本篇目的是用KITTI开源数据来运行ORB-SLAM2,并生成轨迹,最后用evo评估工具来评估ORB-SLAM2生成的轨迹和真值轨迹。

重点记录机器人和自动驾驶相关领域的技术,尤其是计算机视觉,视觉SLAM等,不仅有前言文献或必备算法的学习,也会有实际应用的点滴经验 2326

java 静态化框架_Portal-Basic Java Web 应用开发框架:应用篇(七) —— 页面静态化...

Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提...

weixin_36434531的博客 149

从原理到落地:Java+TensorRT打造YOLO模型GPU极致推理方案

Java+TensorRT的YOLO模型GPU加速方案,核心是通过JNI桥接实现Java与TensorRT的高效交互,结合TensorRT的底层优化能力,最大化GPU算力。该方案既保留了Java后端的工程化优势(如易维护、生态完善),又解决了AI模型推理的性能瓶颈,可落地于实时视频分析、智能监控、工业质检等场景。基于TensorRT Dynamic Shape实现多尺寸输入的自适应优化;结合Java的协程(Virtual Thread)提升异步推理的并发效率;

2601_94871597的博客 766

java web basic knowledge

1、什么是java容器     容器就是用java编写好的一套程序,原先必须自行编写程序来管理对象之间的关系,现在容器会来解决。例:JSP、WebSphere、WebLogic、Tomcat、Resin 1、什么是tomcat     tomcat是web应用的服务器,它是一种servlet容器 2、什么是servlet 3、什么是servlet容器 5

u011984172的专栏 631

『OPEN3D』1.2 mesh处理 python篇

介绍open3d对mesh的基本处理操作

NNNNNathan的博客 4648

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

Java web的安全约束--Basic验证

要进行basic验证是用户名/口令机制,当浏览器要访问受保护的资源时,服务器会要求一个用户名和口令,只有输入了合法的用户名和口令。服务器才发送资源。用户名和口令可以存储在安全域中。安全域是标识一个Web应用程序的合法用户名和口令的“数据库”,其中还包含了与用户相关的角色。 例子:使用basic和MemoryRealm登录 1、在tomcat下的/conf/tomcat-use...

278

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

java web开发框架下载文件_Portal-Basic Java Web 应用开发框架:应用篇(四) —— 文件上传和下载...

Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提...

weixin_34162253的博客 132

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Java Web开发Basic(一) tomcat和web项目了解

Java Web开发Basic(一) tomcat和web项目了解 Tomcat Tomcat目录和Web应用目录 Tomcat的目录结构 /bin 存放启动关闭脚本程序等 /conf 存放Tomcat的配置文件 /lib 存放Tomcat服务器需要的JAR文件 /logs 存放Tomcat的日志文件 /work Tomcat把JSP生成的Servlet存放在该

army的专栏 1713

java验证 web实现basic与FORM验证

 from http://www.cnblogs.com/ansen/articles/2017360.html web实现basic与FORM验证  在web应用中,要经常对用户的身份进行验证的,但其实TOMCAT下配合SERVLET的话,也可以实现一些简单的验证,以往  可能大家都会忽略之,现再简单总结学习之。  1、BASIC验证机制       这有点象WI

qingfeng2556的博客 861

Java Web 实现 HTTP Basic 认证

Basic 认证是一种较为简单的 HTTP 认证方式,客户端通过明文(Base64 编码格式)传输用户名和密码到服务端进行认证,通常需要配合 HTTPS 来保证信息传输的安全。

zhangxin09的专栏 1万+

java获取authorization_java web 项目如何获取客户端登录帐号信息(用于SSO或其他) request.getRemoteUser() basic Authorization...

前言在java 中可以通过System 获取操作系统的相关信息。类似:String sys_user_name = System.getProperty("user.name");或者Map map = System.getenv();String username = (String)map.get("USERNAME");String compname = (String)map.get("C...

weixin_36474966的博客 1748

Portal-Basic Java Web 应用开发框架 —— 概述

    Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用...

weixin_33932129的博客 176

portal java_Portal-Basic Java Web 应用开发框架 —— 前言

Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form Bean / Dao Bean / Spring Bean装配、国际化、文件上传下载和缓存等基础Web应用组件,提...

weixin_34618077的博客 177

异步框架【★更新★】Portal-Basic Java Web 开发框架 v3.1.1 正式发布(源码、示例及文档)-java教程...

查了好多资料,发现还是不全,干脆自己整理吧,至少保障在我的做法正确的,以免误导读者,也是给自己做个记录吧! Portal-Basic Java Web应用开辟框架(简称 Portal-Basic)是一套能功备完的高能性Full-Stack Web应用开辟框架,内置定稳高效的MVC础基架构和DAO框架(已内置Hibernate、MyBatis和JDBC持支),成集 Act...

weixin_30467087的博客 124

java tomcat 开发_Java Web开发Basic(一) tomcat和web项目了解

Java Web开发Basic(一) tomcat和web项目了解TomcatTomcat目录和Web应用目录Tomcat的目录结构/bin 存放启动关闭脚本程序等/conf 存放Tomcat的配置文件/lib 存放Tomcat服务器需要的JAR文件/logs 存放Tomcat的日志文件/work Tomcat把JSP生成的Servlet存放在该目录下/webapps/te...

weixin_42443651的博客 178
上一篇: Spring Basic
下一篇: HBase Basic
HackerDotCn
博客等级 码龄11年 3粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值