首页 / JAVA / JavaWeb学习内容
JavaWeb学习内容
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了JavaWeb学习内容,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含138711字,纯文字阅读大概需要199分钟。
内容图文
![JavaWeb学习内容](/upload/InfoBanner/zyjiaocheng/601/ca3b18a51de243e6b42c731412bb38ea.jpg)
javaWeb
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
java web
1、基本概念
| |
| web开发: |
| |
| - web,网页的意思,www.baidu.com |
| - 静态web |
| - html ,css |
| - 提供给所有人看到数据始终不会发生变化! |
| - 动态web |
| - 淘宝,几乎所有的网站 |
| - 提供给所有人看到数据始终会发生变化,每个人在不同的时间,不同的地点砍价不同的内容 |
| - 技术栈:Servlet/JSP,ASP,PHP |
| |
| 在java中,动态web资源开发的技术统称为javaweb; |
| |
| ### 1.2、web应用程序 |
| |
| web应用程序:可以提供浏览器访问的程序; |
| |
| - a.html , b.html.......多个web资源,这些web资源可以被外界访问,对外界提供服务 |
| - 能访问到任何一个页面或者资源,都存在于中国世界的某一个角落的狄计算机上 |
| - URL: |
| - 这些统一的web资源会被放在同一个文件夹下,web应用程序->Tomcat:服务器 |
| - 一个web应用由多个部分组成(静态web,动态web) |
| - html,css,js |
| - jsp,servlet |
| - java程序 |
| - jar包 |
| - 配置文件(Properties) |
| |
| web应用程序编写完毕后,若想提供给外界访问,需要一个服务器来统一管理 |
| |
| ### 1.3、静态web |
| |
| - *.hem, *.html,这些都是网页的后缀,如果服务器上一直存在这些东西,我们就可以直接进行读取,通络 |
| - 静态web存在的缺点 |
| - web页面无法动态更新,所有用户看到都是同一个页面 |
| - 轮播图,点击特性:伪动态 |
| - JavaScript |
| - vbscript |
| - 他无法和数据库交互 |
| |
| ### 1.4、动态web |
| |
| 页面动态展示 |
| |
|
| |
| 缺点: |
| |
| - 假如服务器动态web资源出现了错误,我们需要重新编写我们的后台程序,重新发布 |
| - 停机维护 |
| |
| 优点: |
| |
| - web页面可以动态更新,所有用户看到不同一个页面 |
| - 他可以和数据库交互 |
| |
|
|
| |
| ## 2、web服务器 |
| |
| ### 2.1、技术讲解 |
| |
| ASP |
| |
| - 微软:国内最早流行的就是ASP |
| |
| - 在HTML中嵌入了VB的脚本,ASP+COM; |
| |
| - 在ASP开发中,基本上一个页面都有几千行业务代码,页面及其凌乱 |
| |
| - 维护成功极高 |
| |
| - C# |
| |
| - IIS |
| |
| - html | | <h1> | | <h1> | | <h1> | | <% | | sout | | /%> | | </h1> | | </h1> | | </h1> | |
|
| |
| PHP |
| |
| - PHP开发速度很快,功能很强大,跨平台,代码很简单(70%网站的都是,WP) |
| - 无法承载大访问量的情况(局限性) |
| |
| JSP/Servlet: |
| |
| B/S:浏览器和服务器 |
| |
| C/S:客户端和服务器 |
| |
| - sun公司主推的B/S架构 |
| - 基于Java语言(所有的大公司,或者一些开源的组件,都是用java写的) |
| - 可以承载三高问题带来的影响; |
| - 语法像ASP,ASP->JSP,加强市场强度 |
| |
| ### 2.2、web服务器 |
| |
| 服务器是一种被动的操作,用来处理用户的一些请求和给用户一些响应信息; |
| |
| IIS |
| |
| 微软的;ASP...., |
| |
| Tomcat |
| |
| Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5支持最新的Servlet 2.4 和JSP 2.0 规范。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。 |
| |
| Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应HTML(标准通用标记语言下的一个应用)页面的访问请求。实际上Tomcat是Apache 服务器的扩展,但运行时它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单独运行的。 |
| |
| 诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为9.0.41。 |
|
| 高难度面试题: |
|
| 请你谈谈网站是如何访问的? |
| |
| 1. 输入一个域名,回车 |
| |
| 2. 检查本机的hosts配置文件下有没有域名映射 |
| |
| 1. 有,直接返回对应的ip地址,这个地址中,有我们需要访问的web程序,可以直接访问 |
| |
| >127.0.0.1 localhos |
| |
| 2. 没有,就去DNS服务器找,找到就返回,找不到就返回找不到 |
| |
|
| |
| #### 3.2、发布网站 |
| |
| - 将自己写的网站,放到服务器(tomcat)中指定的web应该的文件夹(webapps)下,就可以访问了 |
| |
| - 网站结构 |
| |
| java | | -- webapps : tomcat服务器web目录 | | -- root | | -- baidu :网站目录名 | | -- WEB-INF | | | | | | | | | | | | | | | | | | | | | |
|
| |
| |
| |
| ## 4、HTTP |
| |
| 4.1、http是什么 |
| |
| 超文本传输协议(Hypertext Transfer Protocol,HTTP)是一个简单的请求-响应协议,它通常运行在TCP之上。 |
| |
| - 文本:html,字符串,~ |
| - 超文本:图片,音乐,视频,定位,地图。。。 |
| - 默认端口:80 |
| |
| https:安全的 |
| |
| - 默认端口:443 |
| |
| ### 4.2、两个时代 |
| |
| - http1.0 |
| - HTTP/1.0 :客户端可以与web服务器连接后,只能获得一个web资源,断开连接 |
| |
| - http2.0 |
| - HTTP/1.1:客户端可以与web服务器连接后,可以获得多个web资源 |
| |
| ### 4.3、http请求 |
| |
| - 客户端--发请求--服务器 |
| |
| 百度 |
| |
| html | | Request URL: https://www.baidu.com/ 请求地址 | | Request Method: GET get方法/post方法 | | Status Code: 200 OK 状态码:200 | | Remote(远程) Address: 14.215.177.38:443 | | Referrer Policy: no-referrer-when-downgrade | |
|
| |
| java | | Accept: text/html; | | Accept-Encoding: gzip, deflate, br | | Accept-Language: zh-CN,zh;q=0.9 | | Cache-Control: max-age=0 | | Connection: keep-alive | |
|
| |
| 1. #### 请求行 |
| |
| - 请求行中的请求方式:GET |
| - 请求方式:CET,POST |
| - get:请求能够携带的参数比较少,大小有限制,会在浏览器的URL地址栏显示数据内容,不安全,但是高效 |
| - post:请求能够携带的参数没有限制,大小没有限制,不会在浏览器的URL地址栏显示数据内容,安全,但是不高效 |
| |
| 2. ### 消息头 |
| |
| java | | Accept: 告诉浏览器,他所支持的数据类型 | | Accept-Encoding: 支持那种编码格式 GBK UTF-8 GB2312 | | Accept-Language:告诉浏览器它的语言环境 | | Cache-Control:缓存控制 | | Connection: 告诉浏览器,请求完成是断开连接还是保持连接 | | HOST:主机 | |
|
| |
| ### 4.4、http响应 |
| |
| - 服务器--响应--客户端 |
| |
| 百度: |
| |
| java | | Cache-Control: private // 缓存控制 | | Connection: keep-alive // 连接:保持 | | Content-Encoding: gzip //编码类型 | | Content-Type: text/html;charset=utf-8 | |
|
| |
| #### 1、响应体 |
| |
| java | | Accept: 告诉浏览器,他所支持的数据类型 | | Accept-Encoding: 支持那种编码格式 GBK UTF-8 GB2312 | | Accept-Language:告诉浏览器它的语言环境 | | Cache-Control:缓存控制 | | Connection: 告诉浏览器,请求完成是断开连接还是保持连接 | | HOST:主机 | | Refresh:高数客户端,多久刷新一次 | | Location:让网页重新定位 | |
|
| |
| #### 2、响应状态码 |
| |
| 200:请求响应成功 |
| |
| 3**:请求重定向 |
| |
| - 重定向:重新到新的位置去 |
| |
| 404:找不到资源 |
| |
| - 资源不存在 |
| |
| 5XX:服务器代码错误 500 |
| |
| 502:网关错误 |
| |
| 常见面试题: |
| |
| 当你的浏览器中地址栏输入地址并回车的一瞬间并能够展示回来,经历了什么? |
| |
| ## 5、Maven |
| |
| ## 6、Servlet |
| |
| ### 6.1、Servlet简介 |
| |
| - Servlet就是sun公司开发动态web的一门技术 |
| - sun在这些API中提供一个接口叫做:servlet如果想开发一个servlet程序,只需要 |
| - 编写一个类,实现servlet接口 |
| - 把开发好的javalei部署到web服务器中 |
| |
| 把实现了servlet接口程序叫做,servlet |
| |
| ### 6.2、helloservlet |
| |
| Servlet接口在sun公司有两个默认实现类,HttpServlet,GenericServlet |
| |
| 1. 构件一个Maven项目,删掉类名的src目录,以后我们的 学习就在这个项目里面建立项目,这个空的工程就是maven的主工程 |
| |
| 2. 关于maven父子工程的理解: |
| |
| 父项目会有 |
| |
| java | | <modules> | | <module>servlet-01</module> | | </modules> | |
|
| |
| 子项目会有 |
| |
| java | | <parent> | | <artifactId>javaweb-02-servlet</artifactId> | | <groupId>com.bing</groupId> | | <version>1.0-SNAPSHOT</version> | | </parent> | |
|
| |
| 3. Maven环境优化 |
| |
| 1. 修改web.xml |
| |
| java | | <?xml version="1.0" encoding="UTF-8"?> | | <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" | | xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" | | xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee | | http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" | | version="4.0" | | metadata-complete="true"> | | | | </web-app> | | | |
|
| |
| |
| |
| 2. 将maven的结构搭建 |
| |
| 4. 编写一个Servlet程序 |
| |
| 1. 编写一个普通类 |
| |
| 2. 实现Servlet接口类,这里我们直接继承HttpServlet |
| |
| java | | public class HelloServlet extends HttpServlet { | | | | //由于get或者post只是请求实现的不同方式,可以相互调用,业务逻辑都一样 | | | | @Override | | protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { | | | | PrintWriter writer = resp.getWriter(); //响应溜 | | | | writer.print("Hello Servlet"); | | } | | | | @Override | | protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { | | super.doPost(req, resp); | | } | | } | |
|
| |
| 5. 编写Servlet的映射 |
| |
| 为什么需要映射:我们写的是java程序,但是要通过浏览器访问,而浏览器需要连接web服务器,所以我们需要再web服务器中注册我们写的Servlet,还需要给他一个浏览器能够找到的路径 |
| |
| java | | <servlet> | | <servlet-name>hello</servlet-name> | | <servlet-class>com.peng.servlet.HelloServlet</servlet-class> | | </servlet> | | <servlet-mapping> | | <servlet-name>hello</servlet-name> | | <url-pattern>/hello</url-pattern> | | </servlet-mapping> | |
|
| |
| 6.配置Tomca |
| |
| ? |
| |
| 7.启动测试 OK! |
| |
| ### 6.3 Servlet原理 |
| |
| |
| |
|
|
内容总结
以上是互联网集市为您收集整理的JavaWeb学习内容全部内容,希望文章能够帮你解决JavaWeb学习内容所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。