JavaWeb--纯小白笔记03:servlet入门---动态网页的创建

 笔记:index.html在tomcat中为默认的名字,html里面的语法不严谨。改配置文件要小心,不然容易删掉其他

Servlet:服务器端小程序,写动态网页需要用Servlet,普通的java类通过继承HttpServlet,可以响应网页的请求

request:请求   reponse :响应

学习Java基础重在领会,JavaWeb重在遵守规则。

动态网页的创建这里是使用的Tomcat写的

注意:如果之前对Tomcat里面的conf文件夹的server.xml做过修改的就不要使用这个安装包了,前面下载的压缩包,再解压一份出来就行的。做过修改的Tomcat对它的文件名加"!!"就相对于报废了,接下来使用新解压缩的就行了,我的就如下:

我的直接把压缩包和文件放一起,方便解压缩找到。

以下就是使用Tomcat写动态网页的步骤:

1.将Tomcat文件夹下的webapps文件夹(放应用程序)打开,创建一个myweb的文件夹

2.在myweb文件夹里创建一个index.html文件,里面可以随便写点数字啥的,html语法比较不严谨,然后再创建一个WEB-INF文件夹

注意:”WEB-INF“,这几个字母横杠不能错,必须这样写!!

3.打开创建的WEB-INF文件夹,在里面创建两个文件夹和一个web.xml文件,文件夹的名字分别是:"classes"  放class文件 ,"lib"  放jar包 且web .xml文件夹名字不能变

▲注意:这里也可以先不创建web.xml文件,因为目前是直接复制一个Tomcat自己的web.xml文件到WEB-INF文件夹下再修改。

4.先将WEB-INF文件夹的lib文件夹进行导包----其实就是复制Tomcat自己的。退回到Tomcat文件夹,打开lib文件夹-----这里是Tomcat的lib文件,复制jsp-api.jar和servlet-api.jar到我们创建的WEB-INF文件夹下的lib文件夹下

WEB-INF的lib文件夹配好了

5.在WEB-INF文件夹的classes文件夹下编写代码并编译成class文件:

①配置环境变量,以至于找到servlet.jar包

在桌面右击此电脑,选择属性,点击高级系统设置,选择环境变量,在查看系统变量

▲▲▲注意:这里要创建一个classpath的环境变量 ,变量值就是Tomcat文件里的lib包里的servlet-api.jar,还有用户变量不能有classpath否则后面编译会出问题。

记得保存

②在classes文件里创建一个HelloServlet.java文件,打开记事本编写代码

注意:1那里是包名 ,2那里是创建的HelloServlet.java的文件名继承HttpServlet,因为需要里面的方法,3那里是响应以及请求,我们需要书写的就是请求。

③保存代码后,直接在HelloServlet.java文件上方的搜索栏搜cmd进入命令行窗口

④使用" javac -d . 文件名.java " 命令,我的文件名是HelloServlet所以使用的命令就是:javac -d . HelloServlet.java

如果运行不报错就是编译成功,成功会在WEB-INF文件夹下的classes文件夹里生成一个代码里包名的文件,我的是cm.hx所以就生成一个cm的文件夹

6.设置web.xml文件,和之前lib文件的设置一样可以复制Tomcat文件夹下的webapps文件夹里的web.xml文件进行修改

①打开Tomcat文件夹下的webapps文件夹里的examples

②打开examples文件夹里的WEB-INF,复制里面的web.xml文件到我们自己创建的myweb里WEB-INF里去

③将复制的web.xml文件的内容进行修改----只要头尾,里面的代码有几百行,只要头尾:

第一处是xml文件的默认设置代码,第2到第3处是必要代码,<!--   -->是注释可以不要

web.xml中配置servlet

将里面代码写入我们自己的web.xml文件

<servlet-name>用的是我们自己的HelloServlet.java文件名HelloServlet

<servlet-class>写的是我们HelloServlet.java文件里代码的包名.文件名,我的包名是cm.hx.servlet所以这里就应该是 cm.hx.servlet.HelloServlet 

<url-pattern>写的是虚拟访问路径,就是直接在浏览器地址栏搜索:localhost:8080/myweb/虚拟路径

我的配置如下:

7.最后启动我们的服务器:打开Tomcat的文件夹的bin文件夹,点击startup-bat,如果只是闪了一下就说明配置有问题,请检查每一步。成功后会停留在桌面

然后打开浏览器输入localhost:8080/myweb/hello 再回车就是如下:

这里地址栏搜索的:localhost:8080/myweb/hello ------myweb就是我们再Tomcat文件夹下webapps文件夹里创建的文件夹,hello是我们配置servlet时的虚拟路径。

总结:动态网页比较复杂,要一步一步慢慢弄好才行。

如果最后在浏览器搜索出来的是404 说明路径有问题,要注意环境变量设置的是Tomcat下的lib文件里的servlet-api.jar包,且复制到自己的lib文件是否正确

如果是500的错误说明是运行错误,说明编写的代码有问题,就要检查自己WEB-INF文件夹下的classes文件夹里的".java"文件代码是否有问题或者WEB-INF文件夹的web.xml文件是否代码出错

各位大佬,本篇较于繁杂,请仔细慢慢一步一步的完成,到此就结束了,求免费的赞和关注收藏呀!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/429578.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GUI设计】基于Matlab的图像处理GUI系统(1),用matlab实现

博主简介&#xff1a;matlab图像代码项目合作&#xff08;扣扣&#xff1a;3249726188&#xff09; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 本次案例是基于Matlab的图像处理GUI系统&#xff0c;用matlab实现。 本次内容主要分为两部分&a…

Why is OpenAI image generation Api returning 400 bad request in Unity?

题意&#xff1a;为什么 OpenAI 图像生成 API 在 Unity 中返回 400 Bad Request 错误&#xff1f; 问题背景&#xff1a; Im testing out dynamically generating images using OpenAI API in Unity. Amusingly, I actually generated most of this code from chatGPT. 我正在…

【笔记】第二节 轧制、热处理和焊接工艺

2.2 钢轨的轧制工艺 坯料进厂按标准验收, 然后装加热炉加热, 加热好的钢坯经高压水除鳞后进行轧制。轧出的钢轨经锯切、打印到中央冷床冷却, 然后装缓冷坑进行缓冷。缓冷后的钢轨进行矫直、轨端加工和端头淬火。钢轨入库前逐根进行探伤和外观检查。 钢轨的轧制 #mermaid-svg-…

foreach,for in和for of的区别

forEach 不能使用break return 结束并退出循环 for in 和 for of 可以使用break return&#xff1b; for in 遍历的是数组的索引&#xff08;即键名&#xff09;&#xff0c;而for of遍历的是数组元素值。 for of 遍历的只是数组内的元素&#xff0c;而不包括数组的原型属性…

后端-navicat查找语句(单表与多表)

表格字段设置如图 语句&#xff1a; 1.输出 1.输出name和age列 SELECT name,age from student 1.2.全部输出 select * from student 2.where子语句 1.运算符&#xff1a; 等于 >大于 >大于等于 <小于 <小于等于 ! <>不等于 select * from stude…

JdbcTemplate常用方法一览AG网页参数绑定与数据寻址实操

JdbcTemplate是Spring框架中的一个重要组件&#xff0c;主要用于简化JDBC数据库操作。它提供了许多常用的方法&#xff0c;如查询、插入、更新、删除等。本文将介绍JdbcTemplate的常用方法及其使用方式&#xff0c;以及参数绑定和删除数据的方法。 一、JdbcTemplate常用方法 查…

钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句

钉钉与MySQL对接集成获取部门列表2.0打通EXECUTE语句 接入系统&#xff1a;钉钉 钉钉是阿里巴巴集团打造的企业级智能移动办公平台&#xff0c;是数字经济时代的企业组织协同办公和应用开发平台。钉钉将IM即时沟通、钉钉文档、钉闪会、钉盘、Teambition、OA审批、智能人事、钉工…

828华为云征文|华为Flexus云服务器搭建Cloudreve私人网盘

一、华为云 Flexus X 实例&#xff1a;开启高效云服务新篇&#x1f31f; 在云计算的广阔领域中&#xff0c;资源的灵活配置与卓越性能犹如璀璨星辰般闪耀。华为云 Flexus X 实例恰似一颗最为耀眼的新星&#xff0c;将云服务器技术推向了崭新的高度。 华为云 Flexus X 实例基于…

基于SpringBoot+Vue的商城积分系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目源码、Python精…

我的AI工具箱Tauri版-MicrosoftTTS文本转语音

本教程基于自研的AI工具箱Tauri版进行MicrosoftTTS文本转语音服务。 MicrosoftTTS文本转语音服务 是自研的AI工具箱Tauri版中的一款功能模块&#xff0c;专为实现高效的文本转语音操作而设计。通过集成微软TTS服务&#xff0c;用户可以将大量文本自动转换为自然流畅的语音文件…

物理学基础精解【9】

文章目录 直线与二元一次方程两直线夹角直线方程斜率两点式方程截距式方程将不同形式的直线方程转换为截距方程直线的一般方程直线一般方程的系数有一个或两个为零的直线 参考文献 直线与二元一次方程 两直线夹角 两直线 y 1 k 1 x b 1 , y 2 k 2 x b 2 形成夹角 a 1 和 a…

关于字节 c++

字节的介绍 字节是计算机中最小的存储单位&#xff0c;通常由8个二进制位组成&#xff0c;用来存储一个字符。在C中&#xff0c;字节也是基本数据类型之一&#xff0c;用关键字"byte"来表示。字节主要用于存储一些较小的数据&#xff0c;如整数、字符等。字节的大小…

【Delphi】通过 LiveBindings Designer 链接控件示例

本教程展示了如何使用 LiveBindings Designer 可视化地创建控件之间的 LiveBindings&#xff0c;以便创建只需很少或无需源代码的应用程序。 在本教程中&#xff0c;您将创建一个高清多设备应用程序&#xff0c;该应用程序使用 LiveBindings 绑定多个对象&#xff0c;以更改圆…

python - self 调用父类方法

Python 子类继承父类构造函数说明 | 菜鸟教程如果在子类中需要父类的构造方法就需要显式地调用父类的构造方法&#xff0c;或者不重写父类的构造方法。 子类不重写 __init__&#xff0c;实例化子类时&#xff0c;会自动调用父类定义的 __init__。 实例 [mycode3 typepython] cl…

Linux基础---13三剑客及正则表达式

一.划水阶段 首先我们先来一个三剑客与正则表达式混合使用的简单示例&#xff0c;大致了解是个啥玩意儿。下面我来演示一下如何查询登录失败的ip地址及次数。 1.首先&#xff0c;进入到 /var/log目录下 cd /var/log效果如下 2.最后&#xff0c;输入如下指令即可查看&#xf…

基于协同过滤+python+django+vue的音乐推荐系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于协同过滤pythondjangovue…

Linux使用常见问题指南

普通用户sudo权限问题 我在普通用户Sun下,编写了一个.cc文件,然后用sudo权限安装gcc/g去运行该文件,却提示我如下: 原因 当前的用户没有加入到sudo的配置文件里 #切换到root用户 su #编辑配置文件 vim /etc/sudoers #增加配置, 在打开的配置文件中&#xff0c;找到root ALL(A…

【iOS】ViewController的生命周期

相关函数 init: 初始化ViewController。viewDidLoad:在我之前学习中最多使用的方法&#xff0c;在创建类后无论视图展示还是消失&#xff0c;该方法只调用一次在布局中&#xff0c;类成员对象和变量的初始化都会放在这个方法中。viewWilAppear:如同英语含义一样&#xff0c;在…

Java设计模式—面向对象设计原则(五) ----->迪米特法则(DP) (完整详解,附有代码+案例)

文章目录 3.5 迪米特法则(DP)3.5.1 概述3.5.2 案例 3.5 迪米特法则(DP) 迪米特法则&#xff1a;Demeter Principle&#xff0c;简称DP 3.5.1 概述 只和你的直接朋友交谈&#xff0c;不跟“陌生人”说话&#xff08;Talk only to your immediate friends and not to stranger…

Springboot与minio

一、介绍 Minio是一个简单易用的云存储服务&#xff0c;它让你可以轻松地把文件上传到互联网上&#xff0c;这样无论你在哪里&#xff0c;只要有网络&#xff0c;就能访问或分享这些文件。如果你想要从这个仓库里取出一张图片或一段视频&#xff0c;让网站的访客能看到或者下载…