Web后端学习「建议收藏」

Web后端学习「建议收藏」web后端一.cs/bs架构 CS/BS模式/客户端与浏览器模式 cs需要安装客户端,客户端向服务器请求,服务器响应数据返回。bs浏览器即可访问通过http协议3.web资源静态资源:人们浏览到的网页是一样的动态资源:不同人、时间可能都不一样4.web服务器将写好的web项目放入一个容器中,浏览器就通过这个容器来访问网页二.Tomcat1.TomCat安装与部署1.1TomCat目录结构 b…

大家好,又见面了,我是你们的朋友全栈君。

web后端

一.cs/bs架构

  1. CS/BS模式/客户端与浏览器模式

  2. Web后端学习「建议收藏」

     

cs 需要安装客户端,客户端向服务器请求,服务器响应数据返回。

bs 浏览器即可访问通过http协议

Web后端学习「建议收藏」

 

3.web资源

静态资源:人们浏览到的网页是一样的

动态资源:不同人、时间可能都不一样

4.web服务器

将写好的web项目放入一个容器中,浏览器就通过这个容器来访问网页

二.Tomcat

1.TomCat安装与部署

1.1TomCat目录结构

  1. Web后端学习「建议收藏」

     

    bin:2进制可执行文件eg:开始和关闭startup shutdown

    conf:配置文件,分为web.xml和server.xml

    lib:运行需要的jar包

    logs:日志文件

    temp:临时文件

    webapps(重要):存放web项目 每个文件夹就是一个项目

    work:运行生成的文件

    1.2启动

    bin中的star.bat启动即可 但是可能会一闪而过,直接打开start.bat修改文件 加入下面代码再启动即可,不要手动去添加环境变量。

    注意shutdown.bat也要加入一样的代码,不然会关闭失败。

    set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_181
    set JRE_HOME=C:\Program Files\Java\jdk1.8.0_181\jre

1.3启动的乱码问题

进入conf中的logging-properties 编辑其中的logging -encodeing为GBK即可

1.4修改端口号

进入conf中的server.xml其中的port:8080改成其他的就可以了

2.部署项目

2.1创建项目:

在webapps中创建项目文件夹作为项目的名字eg myweb,然后把root中的web.xml文件复制到webapps中,然后在myweb下创建文件夹WEB-INF,再在阿webinf下创建文件夹classes和lib,网页文件和它的资源文件直接存在myweb下即可eg img文件等。

Web后端学习「建议收藏」

 Web后端学习「建议收藏」

 

Web后端学习「建议收藏」

 

2.2访问资源 url http://localhost:8080/myweb/hello.html 协议 主机 端口号 资源文件

2.3响应流程

用户向tomcat请求 tomcat寻找资源给用户响应

四.serverlet

1.概念

server applet 服务端程序即代码功能的实现,交互式处理客户端发送到服务的的请求并作出响应。

接受请求->生成动态网页->返回数据

2.开发与集成serverlet到tomcat

2.1编写servlet

1):新建项目

2):点击添加框架添加web框架支持

3):在WEB-INF下新建lib作为放jar包的文件夹并且把servlet的jar包放进去

4):编写sevlet程序:在项目下新建包com.xx.xxx再新建class类继承servlet并实现那5个类(自动导入)

其中service可用于输出到控制台。

4):编写web.xml文件

需要加入以下类容:

<servlet>
    <servlet-name>my</servlet-name>
    <servlet-class>com.lyj.servlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>my</servlet-name>
    <url-pattern>/servlet03</url-pattern>
</servlet-mapping>

第一个名字随便取,但是映射即maping中的第一个名字必须和servlet 的第一个名字一样,servlet class即servlet程序的位置,把包和类写清楚即可。url-maping 输入网址中项目下的名字,设置什么后边访问网页时就输入什么。注意url-maping后边名字的设置有斜杠千万不能省略,不然会出错。

2.2搭建环境idea 自动部署 开发版

idea集成tomcat 热部署

右上角

Web后端学习「建议收藏」

 

1):点击编辑配置添加tomcat服务器

Web后端学习「建议收藏」

 

2):部署

Web后端学习「建议收藏」

 

选择默认确定即可

2.2打包成war包(发布版,项目已经完成,不再改动了)

1):Ctrl+Alt+shift+s打开项目结构,或者点击右上角设置图标中的第二个

2):点击工件Artrifact,然后点击webapplication archieve 即web应用归档版点击for哪个项目的名字->ok

3):点击构建项目build下的构建工件build Atrifact 然后在out文件夹下将发布版的.war文件复制出来放到tomcat的webapps下即可

4):访问。启动start.bat文件后服务器会自动生产发布版的文件夹,再在网页中像开发板一样访问相关资源即可

五.http简介

Web后端学习「建议收藏」

Web后端学习「建议收藏」

 

 Web后端学习「建议收藏」

 Web后端学习「建议收藏」

 

3次握手:第一次:客户端发送到服务端询问服务器是否能收到

第二次:服务端发送到客户端表示服务端能收到

第三次:客户端发送到服务端,表示服务端发的消息客户端也能收到

六.servlet详解

6.1genericServlet

作用:只需要写重写server类,不需要重写其他4个类,简化编程。(记得在web.xml中配置相关信息)

6.2servlet(与协议无关)与httpServlet 与协议有关

Web后端学习「建议收藏」

 

推荐使用httpServerlet 重写 doget dopost方法即可

6.3web.xml配置匹配获取资源规则(sevlet3.0之前)

Web后端学习「建议收藏」

 

6.3.1web.xml配置servlet的加载顺序<load-on-startup>写在servlet标签中 参数为整数0-正整数,越靠前执行优先级越高

Web后端学习「建议收藏」

 

6.4web.xml文件的配置(servlet3.0之后 推荐使用)

即直接在servlet程序中添加注解,不用到xml文件中去配置 ,常用就value配置访问路径, loadonstartup配置加载优先权。

@WebServlet(value = "/web",loadOnStartup = 0)//放在servlet程序上即可

Web后端学习「建议收藏」

 

七.serverlet应用

Web后端学习「建议收藏」

Web后端学习「建议收藏」 

 

7.1 request接受get数据 getParameter 参数为标签的name

String name=req.getParameter("name");
String pwd=req.getParameter("pwd");

选择提交表单时 action的参数设置为项目的名字+serverlet value值即路径<form action=”/serverlet03_war_exploded/web02″ method=”get” class=”login”>

测试时先进入网页 url+xxx.html在提交数据

7.2request接受post数据

方式和get一样,只是会出现乱码问题

Web后端学习「建议收藏」

 

解决办法:

req.setCharacterEncoding(“UTF-8”);//解决乱码问题

Web后端学习「建议收藏」

 

7.3response

Web后端学习「建议收藏」

 

Web后端学习「建议收藏」

 

7.3.1服务端用于回应客户端注册成功

//2.响应数据给客户端
​
PrintWriter writer = resp.getWriter();//获取输出流
writer.println("注册成功!");

若返回中文数据则会出现乱码问题

乱码问题解决:加上代码如下且必须在获得字符流之前设置

Web后端学习「建议收藏」

 

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

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

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


相关推荐

  • linux top 指定进程_linux top 排序

    linux top 指定进程_linux top 排序top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器第一行,任务队列信息,同uptime命令的执行结果第二行,Tasks—任务(进程)第三行,cpu状态信息第四行,内存状态第五行,swap交换分区信息第六行,空行第七行以下:各进程(任务)的状态监控详解top使用方法:使用格式:top[-][d][p][q][c]…

    2022年9月24日
    3
  • Haar特征提取算法的实现

    Haar特征提取算法的实现自己动手 丰衣食足 系列 nbsp nbsp nbsp nbsp nbsp nbsp nbsp nbsp Haar 特征是一种很早就被提出的图像特征提取算法 后面还经过了几次改进 Haar 特征能够很好地运用于人脸识别技术 当然很多目标检测技术中对目标图像的特征提取也可以使用 Haar 特征 当我们使用 opencv 自带的 cascade 分类器时可以选择 Haar 特征作为训练样本数据的特征描述子 然后将特征描述子作为样本数据送入 cascade 分类器中 就可以通过 Adab

    2025年7月10日
    4
  • Linux删除软链接

    Linux删除软链接首先我们先来创建一个文件#mkdirtest_chk#touchtest_chk/test.txt#vimtest_chk/test.txt(这一步随便在这个test.txt里写点东东即可)下面我们来创建test_chk上当的软链接#ln-stest_chktest_chk_ln软链接创建好了,我们来看看怎么删除它正确的删除方式(删除软链接,

    2022年6月18日
    41
  • pytest-allure_pytest allure

    pytest-allure_pytest allure前言allure是一个report框架,支持java的Junit/testng等框架,当然也可以支持python的pytest框架,也可以集成到Jenkins上展示高大上的报告界面。mac环境:

    2022年7月28日
    9
  • JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」

    JS 获取浏览器窗口大小clientWidth、offsetWidth、scrollWidth「建议收藏」常用:JS获取浏览器窗口大小//获取窗口宽度if(window.innerWidth)winWidth=window.innerWidth;elseif((document.body)&&(document.body.clientWidth))winWidth=document.body.clientWidth;//获取窗口高度if(…

    2022年7月22日
    10
  • 【已解决】Win10系统点击ikbc机械键盘win键无效的解决方法

    【已解决】Win10系统点击ikbc机械键盘win键无效的解决方法一、问题描述今天周一,早上一来上班,打开电脑操作一段时间后,我想按Win+L来锁屏,发现win键按了没有任何反应,只响应了L键。设备信息描述一下:系统:Windows10键盘:ikbc怎么解决它呢?二、解决问题ikbc键盘win按键失灵问题。其实是自己不小心把win键给锁定了。下面是介绍一下ikbc键盘上,锁定win键和解锁win键的方法,如下表所示:键盘款式锁定的方法解锁的方法非静音款Fn+左WinFn+右Win静音款Fn+F12F

    2022年6月1日
    150

发表回复

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

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