当前位置: 首页 > news >正文

web开发

目录

使用Idea搭建Web项目

使用Idea开发Web项目基本知识

tomcat配置信息

HTML /CSS

开发主页

Servlet


学习和掌握的内容:

  1. HTML/CSS
  2. Servlet  MVC模式和Web开发
  3. 数据库基本应用和JDBC应用
  4. 软件项目开发流程

环境及工具版本:

Windows10,JDK1.8

Idea2020.1.1, apache-tomcat-9.0.36, Mysql8.

创建第一个Web项目

1.使用Idea搭建Web项目

1)File ->New->Project

 

 点击New后,选择Tomat Server

 选择tomcat安装的目录

 点击Next后输入项目名称和项目存放地址后Finish

 创建成功后,整体结构

 

 查看启动日志信息,发现启动成功

 浏览器自动打开一个窗口,说明启动成功

 2.使用Idea开发Web项目基本知识

3.tomcat配置信息

 

 

 项目编译后输入的地址及目录

 

 

4.HTML /CSS

创建一个index.html文件

HTML基本学习

介绍:超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言

结构:

<!DOCTYPE html>       //html5标准网页声明
<html lang="en">      //向搜索引擎表示该文档是html语言,并且语言为英文网站
<head>                  //html 头部
    <meta charset="UTF-8">  //声明编码字符集,否则会出现乱码
    <title>Title</title>  //文档标题
</head>
<body>   //网页主体,可见页面的内容
测试
</body>
</html>

3.HTML标签:

HTML标签也常叫做HTML元素,但是HTML元素是包含一对HTML标签:开始和结束标签,比如:<body></body>

HTML标签包含

标签名

标签属性及属性值

常用标签:

1)div

div:块级元素,主要用来分层

我们这里给index.html分三层,头部、中部和底部。

 显示结果:

 使用div创建一个登录框:

2> form

form:表单,主要用于提交数据

method:提交方式,有post,get 两种方式,一般form使用post提交

action:提交的url

3)table

table:表格,用于创建表格

 

 

4>input

input:输入框,主要用于输入数据

5.textarea 文本域

6.<select> 选择标签

<tr><td >年级:</td>
    <td>
        <select name="grade">
        <option value="">请选择年级</option>
        <option value="1">大一</option>
        <option value="2">大二</option>
        <option value="3">大三</option>
        <option value="4">大四</option>
    </select>
    </td>
</tr>

 7.<a>  超链接标签

 

 8.<img>图片

.main .main_img{
    float: left;
    margin-left: 20%;
    margin-top: 20px;
}

<div class="main_img">
    <img src="main_img.png"  width="100%" height="100%">
</div>

9.<p> 段落标签

10.<span>

可以用来设置字体

11.<h1> - <h6>

12.<hr>

13.无序列表<ul> <li>  ,有序列表<ol><li>

5.开发主页

因为静态HTML不包含动态信息,所以我们使用JSP开发页面。

JSP全称Java Server Pages,是一种动态网页开发技术。它使用JSP标签在HTML网页中插入Java代码。标签通常以<%开头以%>结束。

Servlet

三种方法创建servlet类:

1)实现Servlet接口

2)继承GenericServlet类

3)继承HttpServlet类(常用)

Servlet的生命周期

1.加载和实例化

当容器启动时(需要配置)或者客户端向Servlet容器发出HTTP请求要求访问Servlet时,Servlet容器首先会解析请求,检查内存中是否已经有了该Servlet对象,如果有直接使用该Servlet对象,如果没有就创建Servlet实例对象。

2、初始化

实例化后,容器调用Servlet的init()初始化对象。

注意:整个生命周期中只调用一次。

3、处理请求

在这个阶段,Servlet容器会为每个请求创建代表HTTP请求的ServletRequest对象和代表HTTP响应的ServletResponse对象,然后将它们作为参数传递给Servlet的service()方法。service()方法从ServletRequest对象中获得客户请求信息并处理该请求,通过ServletResponse对象生成响应结果。

注意:在Servlet的整个生命周期内,对于Servlet的每一次访问请求,Servlet容器都会调用一次Servlet的service()方法,并且创建新的ServletRequest和ServletResponse对象。

4、销毁

当服务器关闭或web应用被移除出容器时,Servlet随着web应用的销毁而销毁。在销毁Servlet之前,Servlet容器会调用Servlet的destroy()方法,以便让Servlet对象释放它所占用的资源。在Servlet的整个生命周期中,destroy()方法也只被调用一次。

注意:Servlet对象一旦创建就会驻留在内存中等待客户端的访问,直到服务器关闭,或web应用被移除出容器时Servlet对象才会销毁。

使用注解创建Servlet

1、创建一个普通类

2、继承HttpServlet 类

3、在web.xml里面设置:metadata-complete="false"

4、在类上面添加注解:@WebServlet()
@WebServlet(value = "/user/register" )

public class UserRegisterServlet extends HttpServlet {

.....

}

  1. GET 方法

GET 方法向页面请求发送已编码的用户信息。页面和已编码的信息中间用 ? 字符分隔。如:

http://localhost:8080/myservlet/hello.html?name=zhangsan&pwd=123456&age=18

缺点:参数添加在url后面,不安全。GET 方法有大小限制:由浏览器和Web服务器处理能力的设置会限制长度大小。

优点:执行效率比POST高,用于从服务器上获取数据

1)String str=request.getParameter(参数名称);

//根据参数名称获得参数值

2)Map<String, String[]> parameterMap = req.getParameterMap();

//获得参数集合

3)String[] parameterValues = req.getParameterValues(参数名称);

//如果参数出现一次以上,则调用该方法,并返回多个值,例如复选框。

4)Enumeration<String> parameterNames = req.getParameterNames();

/获得当前请求中的所有参数的完整列表

2、POST方法

通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送。

优点:安全,一般没有大小限制(服务器的不同有所差异)。

缺点:效率没有GET高,用于提交修改数据。

+

相关文章:

web开发

目录 使用Idea搭建Web项目 使用Idea开发Web项目基本知识 tomcat配置信息 HTML /CSS 开发主页 Servlet 学习和掌握的内容&#xff1a; HTML/CSSServlet MVC模式和Web开发数据库基本应用和JDBC应用软件项目开发流程 环境及工具版本&#xff1a; Windows10,JDK1.8 Idea2…...

【数据结构】优先级队列----堆

优先级队列----堆优先级队列堆堆的创建堆的插入&#xff1a;堆的删除&#xff1a;PriorityQueue的特性PriorityQueue的构造与方法优先级队列 优先级队列&#xff1a; 不同于先进先出的普通队列&#xff0c;在一些情况下&#xff0c;优先级高的元素要先出队列。而这种队列需要提…...

Python深度学习实战PyQt5信号与槽的连接

本文讲解信号与槽的连接机制&#xff0c;详细示范各种类型的信号/槽连接的实现方法&#xff0c;这是图形用户界面的核心内容。还将介绍面向对象的程序设计&#xff0c;这是图形用户界面的基本思想目录1. 信号与槽&#xff08;Signals and slots&#xff09;信号与槽机制是 PyQt…...

Window 10 OpenCV 打开罗技(Logitech)摄像头速度慢问题解决

采用最新版OpenCV 4.7.0 摄像头对罗技摄像头进行视频图像抓取时&#xff0c;发现存在打开摄像头慢的问题。 测试环境如下&#xff1a; 系统Windows 10 专业版CPUIntel i7-7700K 4.20GHz 摄像头型号罗技Logitech C930c 网络摄像头OpenCV版本4.7.0语言C 测试结果表明&#xff…...

基于yolo的小球位置实时检测

基于yolo的小球位置实时检测 Yolo安装 操作系统&#xff1a;ubuntu 安装cuda和opencv git clone https://github.com/pjreddie/darknet.git cd darknet 修改Makefile文件&#xff0c;使GPU1&#xff0c;OPENCV1 make 2. 数据集处理 2.1 制作数据集 将小球放在摄像头前…...

【微服务】Elasticsearch数据聚合自动补全数据同步(四)

&#x1f697;Es学习第四站~ &#x1f6a9;Es学习起始站&#xff1a;【微服务】Elasticsearch概述&环境搭建(一) &#x1f6a9;本文已收录至专栏&#xff1a;微服务探索之旅 &#x1f44d;希望您能有所收获 在第二站的学习中&#xff0c;我们已经导入了大量数据到es中&…...

java面试题(十七)spring

2.1 请你说说Spring的核心是什么 参考答案 Spring框架包含众多模块&#xff0c;如Core、Testing、Data Access、Web Servlet等&#xff0c;其中Core是整个Spring框架的核心模块。Core模块提供了IoC容器、AOP功能、数据绑定、类型转换等一系列的基础功能&#xff0c;而这些功能…...

你知道 BI 是什么吗?关于 BI 系统的概述

BI 作为信息化建设中的关键一环&#xff0c;在企业中通常起到承上启下的作用&#xff0c;下能连接打通企业业务系统数据库&#xff0c;将各部门数据分类分级统一储存到数据仓库&#xff0c;简化存储取数流程&#xff0c;减少人力、时间成本&#xff1b;上能提供数据可视化报表…...

git:详解git rebase命令

背景 今天无意中打开 git 官网&#xff0c;发现 git 命令还是很多的&#xff0c;然而我们常用的就那几个&#xff0c;今天来学习一个也不怎么常用的命令 rebase 官网链接 都说学一个东西最好的方式就是读他的 官方文档&#xff0c;这里我读了一遍&#xff0c;把一些核心的地…...

第四章——随机变量的数字特征

文章目录1、数字特征的定义2、数学期望&#xff08;均值&#xff09;2.1、数学期望的定义及性质2.1.1、定义2.1.2、性质2.2、数学期望相关例题2.3、Yg(X)的数学期望2.4、Zg(X,Y)的数学期望2.5、随机变量函数的数学期望例题3、方差3.1、方差的定义与性质3.2、相关例题3.3、切比雪…...

vue2源码阅读理解-响应式数据原理

首先明确&#xff0c;vue2是如何实现响应式的&#xff1f; 通过object.defineProperty观察者模式实现&#xff0c;在创建vue实例的过程中&#xff0c;也就是介于beforecomputed~computed的过程中&#xff0c;会执行如下函数initState export function initState (vm: Componen…...

服务调用分布式session

目录一、nginx动静分离二、服务调用1、创建配置zmall-cart购物车模块2、创建配置zmall-order订单模块3、服务调用三、spring session实战1、什么是Spring Session2、为什么要使用Spring Session3、错误案例展示4、配置spring-session四、二级域名问题五、用户登录一、nginx动静…...

Maven知识点-插件-maven-surefire-plugin简介

Maven本身并不是一个单元测试框架&#xff0c;Java 世界中主流的单元测试框架为JUnit 和TestNG。 Maven 所做的只是在构建执行到特定生命周期阶段的时候&#xff0c;通过插件来执行JUnit或者TestNG的测试用例。 这一插件就是maven-surefire-plugin&#xff0c;可以称之为测试…...

如何借力Alluxio推动大数据产品性能提升与成本优化?

内容简介 随着数字化不断发展&#xff0c;各行各业数据呈现海量增长的趋势。存算分离将存储系统和计算框架拆分为独立的模块&#xff0c;Alluxio作为如今主流云数据编排软件之一&#xff0c;为计算型应用&#xff08;如 Apache Spark、Presto&#xff09;和存储系统&#xff0…...

linux shell脚本被包含是什么意思?.命令和source命令(在脚本中运行脚本,脚本中调用脚本)(脚本包含,父子脚本)

在 shell 编程中&#xff0c;当一个 shell 脚本被另一个 shell 脚本包含&#xff0c;即用 . 或 source 命令包含&#xff0c;则被包含的脚本在当前 shell 进程内执行&#xff0c;并且可以访问当前 shell 进程的环境变量和函数。 此时&#xff0c;$0 代表的是主脚本的名称&#…...

MySQL进阶篇之锁(lock)

05、锁 5.1、概述 1、介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制。在数据库中&#xff0c;除传统的计算资源&#xff08;CPU、RAM、I/O&#xff09;的争用以外&#xff0c;数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性、有效性是所有数据…...

TMDSEVM6657LS评估板恢复出厂默认状态

TMDSEVM6657LS评估板恢复出厂默认状态 前言 TMDSEVM6657LS评估板特别适用于DSP开发的初学者&#xff0c;但有时候拿到手的开发板几经流转&#xff0c;被别人修改过&#xff0c;也可能自己烧录过程出错&#xff0c;导致开发板的状态未知等原因&#xff0c;需要恢复到出厂默认状…...

聊一聊,我对DDD的关键理解

作者&#xff1a;闵大为 阿里业务平台解决方案团队 当我们在学习DDD的过程中&#xff0c;感觉学而不得的时候&#xff0c;可能会问&#xff1a;我们还要学么&#xff1f;这的确引人深思。本文基于工作经验&#xff0c;尝试谈谈对DDD的一些理解。 一、序 《阿甘正传》中&#xf…...

算法笔记(一)—— 认识复杂度和简单排序算法

时间复杂度是在一个算法流程中&#xff0c;常数操作的数量级指标。&#xff08;最差情况下的算法表现&#xff09; 比较两个算法的优劣&#xff0c;在足够的空间下&#xff0c;看时间复杂度指标&#xff0c;若相同&#xff0c;需要在大数据运行下来判断两个算法的“常数项指标…...

MQ消息中间件常见题及解决办法

目录儿常见MQRocketMQ2、RocketMQ测试可用MQ常见问题1、幂等性问题2、如何保证消息不丢失3、消息积压问题4、事务消息设计分析常见MQ RocketMQ RocketMQ又四部分组成 NameServer 同步Broker服务信息&#xff0c;给消费者和生产者提供可用Broker的服务信息。Broker 消息存储业…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

YSYX学习记录(八)

C语言&#xff0c;练习0&#xff1a; 先创建一个文件夹&#xff0c;我用的是物理机&#xff1a; 安装build-essential 练习1&#xff1a; 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件&#xff0c;随机修改或删除一部分&#xff0c;之后…...

镜像里切换为普通用户

如果你登录远程虚拟机默认就是 root 用户&#xff0c;但你不希望用 root 权限运行 ns-3&#xff08;这是对的&#xff0c;ns3 工具会拒绝 root&#xff09;&#xff0c;你可以按以下方法创建一个 非 root 用户账号 并切换到它运行 ns-3。 一次性解决方案&#xff1a;创建非 roo…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题&#xff1a;3564. 季节性销售分析 题目&#xff1a; 表&#xff1a;sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

RNN避坑指南:从数学推导到LSTM/GRU工业级部署实战流程

本文较长&#xff0c;建议点赞收藏&#xff0c;以免遗失。更多AI大模型应用开发学习视频及资料&#xff0c;尽在聚客AI学院。 本文全面剖析RNN核心原理&#xff0c;深入讲解梯度消失/爆炸问题&#xff0c;并通过LSTM/GRU结构实现解决方案&#xff0c;提供时间序列预测和文本生成…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...

安宝特案例丨Vuzix AR智能眼镜集成专业软件,助力卢森堡医院药房转型,赢得辉瑞创新奖

在Vuzix M400 AR智能眼镜的助力下&#xff0c;卢森堡罗伯特舒曼医院&#xff08;the Robert Schuman Hospitals, HRS&#xff09;凭借在无菌制剂生产流程中引入增强现实技术&#xff08;AR&#xff09;创新项目&#xff0c;荣获了2024年6月7日由卢森堡医院药剂师协会&#xff0…...

Go 并发编程基础:通道(Channel)的使用

在 Go 中&#xff0c;Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式&#xff0c;用于在多个 Goroutine 之间传递数据&#xff0c;从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...

协议转换利器,profinet转ethercat网关的两大派系,各有千秋

随着工业以太网的发展&#xff0c;其高效、便捷、协议开放、易于冗余等诸多优点&#xff0c;被越来越多的工业现场所采用。西门子SIMATIC S7-1200/1500系列PLC集成有Profinet接口&#xff0c;具有实时性、开放性&#xff0c;使用TCP/IP和IT标准&#xff0c;符合基于工业以太网的…...