JavaWeb准备工作和部分环境配置

  金牌会员 | 2023-6-9 21:45:46 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 888|帖子 888|积分 2664

JavaWeb

基本概念

web开发:

  • web:网页的意思
  • 静态web:提供的数据资源不会发生改变
  • 动态web:数据是不断变化的,现代网站几乎都是动态网站技术栈: Servlet/JSP:基于java,主推B/S架构,可以
    ​               承载高并发,语法类似ASP
    ​                                ASP:微软,国内早期流行。在html中嵌入VB脚本, c#
    ​                                PHP:开发速度快,功能强大,但是无法承载大访问量的情况
    在java中动态web资源开发的技术统称JavaWeb
web应用程序:

  • 可以提供浏览器访问的程序,多个web资源例如a.html ,这些资源可以被外界访问,对外界提供服务,这些统一的web资源会被放在同一个文件夹下,组成web应用程序
  • web应用程序若想提供给外界访问需要一个的服务器来统一
Web服务器

处理用户请求和返回响应
包括:

  • IIS:微软,ASP,windows中自带
  • Tomcat:Apache项目,技术先进,稳定且免费,属于轻量级应用服务器,实际上运行JSP和Servlet。对于初学者它是首选。

Tomcat

之后我们将使用Tomcat进行学习,具体按照教程可以自行百度
下载好后自行配置相关环境变量
Tomcat安装包配置文件介绍:

启动:bin中的startup.bar
关闭:bin中的shutdown.bar
服务器核心配置文件(更改端口默认8080,主机名默认locahost等):conf/server.xmf
如更改端口(找到下面):
  1. [/code]浏览器主页面文件:webapps/ROOT
  2. [size=4]如何访问到网站[/size]
  3. [list=1]
  4. [*]输入域名
  5. [*]检测本机下面的C:\Windows\System32\drivers\etc\hosts下面的配置文件有没有相关域名的映射(如127.0.0.1  localhost),如果本机有直接访问
  6. [*]如果没有去DNS服务器寻找
  7. [/list][size=4]发布的第一个web文件[/size]
  8. 进入webapps创建一个自己的网站文件夹
  9. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210340541-546214668.png[/img]
  10. 保留相关配置文件(WEB-INF文件夹/classes:java程序和lib:配置文件和web.xml网站配置文件)同时编写自己的web界面
  11. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210354498-1288418526.png[/img]
  12. 因为localhost:8080是webapps文件夹,加上自己创建文件夹的路径即可(index.html可以省略)
  13. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210409110-463373484.png[/img]
  14. 另外localhost:8080/examples 是官方给与的相关例子
  15. [size=4]在IDEA配置Tomcat[/size]
  16. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210429589-388489807.png[/img]
  17. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210445212-804826212.png[/img]
  18. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210506253-668111354.png[/img]
  19. 点击fix清除警告
  20. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210529798-129539986.png[/img]
  21. 添加tomcat中webapps中需要使用的相关的网站
  22. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210544924-566781759.png[/img]
  23. [img]https://img2023.cnblogs.com/blog/2844064/202306/2844064-20230609210605851-812951792.png[/img]
  24. 之后点击运行
  25. [size=5]http[/size]
  26. HTTP(超文本传输协议)是一个简单的请求-响应协议,它通常运行在TCP之上。它指定了客户端可能发送给服务器什么样的消息以及得到什么样的响应。
  27. 文本:由可打印字符组成,人可以直接阅读和理解其形式。 记事本文件
  28. 超文本:除了文本文件外如视频,音频,html等
  29. [list]
  30. [*]默认端口80
  31. [*]https:安全的,端口443
  32. [/list][size=4]请求[/size]
  33. 常规
  34. [code]请求 URL:
  35. https://img-s.msn.cn/tenant/amp/entityid/BB14xOMT?w=20&h=0&q=60&m=6&f=png&u=t
  36. 请求方法:
  37. GET
  38. 状态代码:
  39. 200 成功
  40. 3**  请求重定向(让你去找别人)
  41. 4**  找不到资源
  42. 5**  服务器代码错误 例如502网关错误
  43. 远程地址:
  44. 184.26.43.88:443
  45. 引用者策略:
  46. strict-origin-when-cross-origin
复制代码

  • 请求行:

    • 请求
    • 请求方式:get,post等

      • get:请求能够携带的参数比较少,大小有限制,会在浏览器URL地址栏显示数据内容,高效但不安全
      • post:请求能够携带的参数没有限制,大小没有限制,安全但不高效


  • 请求头
    1. Accept:*/*  告诉浏览器支持的内容
    2. Accept-Encoding:gzip, deflate, br  告诉浏览器支持的编码
    3. Accept-Language:zh-CN,zh;q=0.9 支持的语言环境
    4. Cache-Control:   缓存控制
    5. Connection:keep-alive   告诉浏览器请求完成是断开还是保持连接
    6. Content-Length:7903
    7. Content-Type:text/plain;charset=UTF-8
    8. Cookie:USRLOC=; _EDGE_V=1;
    9. Refrush:              告诉客户端多久刷新一次
    10. Location:让网页重新定位
    复制代码
响应
  1. Access-Control-Allow-Origin:* 缓存控制
  2. Connection:keep-alive  连接
  3. Content-Type:image/png   类型
  4. Content-Encoding:gzip  编码
复制代码
Maven


  • 一个项目架构管理工具
  • 用来方便导入jar包
  • Maven核心思想:约定大于配置,即有约束不要去违反
自行百度下载Maven – Welcome to Apache Maven

  • 为其配置环境变量:


  • M2_HOME:maven目录下的bin目录
  • MAVEN_HOME:maven目录
  • 系统path中配置指向bin目录
mvn -version查看是否安装成功

  • 配置阿里云镜像:复制下面一段到conf/setting.xml中的中
  1.    <mirror>
  2.       <id>alimaven</id>
  3.       <mirrorOf>central</mirrorOf>
  4.       <name>aliyun-maven</name>
  5.       <url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
  6.     </mirror>
复制代码

  • 建立本地仓库:新建一个文件夹作为仓库,并且到setting.xml中相应位置配置如下

IDEA使用Maven

创建一个maven web项目


另外默认的为idea自带的maven
之后等待构建导入完成

  • idea中设置maven相关配置


创建一个普通的maven项目

直接点下一步不选或者勾选任何东西创建一个普通maven项目

结构:

标记文件夹功能

注意在idea配置maven项目过程中会出现导入错误,搞了半天我才发现因为idea不兼容该版本的maven,换成低版本解决
pom文件

pom.xml是maven的核心文件
具体内容介绍:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3.   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4.   <modelVersion>4.0.0</modelVersion>
  5.   <groupId>org.example</groupId>
  6.   <artifactId>Maven2</artifactId>
  7.   <version>1.0-SNAPSHOT</version>
  8.   <packaging>war</packaging>
  9.   <name>Maven2 Maven Webapp</name>
  10.   
  11.   <url>http://www.example.com</url>
  12.   <properties>
  13.     <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  14.     <maven.compiler.source>1.7</maven.compiler.source>
  15.     <maven.compiler.target>1.7</maven.compiler.target>
  16.   </properties>
  17.   <dependencies>
  18.     <dependency>
  19.       <groupId>junit</groupId>
  20.       <artifactId>junit</artifactId>
  21.       <version>4.11</version>
  22.     </dependency>
  23.   </dependencies>
  24.   <build>
  25.   </build>
复制代码
另外由于maven的约束,自己写的噢诶这文件很有可能不能导出这就需要:
  1. <build>
  2.     <resources>
  3.            
  4.         <resource>
  5.             <directory>src/main/resources</directory>
  6.             
  7.             <includes>
  8.                 <include>**/*.properties</include>
  9.                 <include>**/*.xml</include>
  10.             </includes>
  11.         </resource>
  12.         <resource>
  13.             <directory>src/main/java</directory>
  14.             <includes>
  15.                 <include>**/*.properties</include>
  16.                 <include>**/*.xml</include>
  17.             </includes>
  18.             
  19.             <filtering>false</filtering>
  20.         </resource>
  21.     </resources>
  22. </build>
复制代码
idea可以生成目录树:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表