Web环境搭建以及Servlet入门(上)

简介: Web环境搭建以及Servlet入门

一 、Web相关概念

1.1 软件架构

WEB:在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源。

JavaWeb:使用Java语言开发基于互联网的项目

1.1.1 软件架构:


图片1.png

1.2 Web资源分类

静态资源:

使用静态网页开发技术发布的资源

特点:

所有用户访问,得到的结果是一样的

如:文本,图片,音频、视频, HTML,CSS,JavaScript

如果用户请求的是静态资源,那么服务器会直接将静态资源发送给浏览器。浏览器中内置了静态资源的解析引擎,可以展示静态资源

动态资源:

使用动态网页技术发布的资源

特点:

所有用户访问,得到的结果可能不一样

如:jsp/servlet,php,asp...

如果用户请求的是动态资源,那么服务器会执行动态资源,转换为静态资源,再发送给浏览器

1.3 网络通信三要素

IP:电子设备(计算机)在网络中的唯一标识


端口:应用程序在计算机中的唯一标识。 0~65536


传输协议:规定了数据传输的规则


基础协议:


tcp:安全协议,三次握手。 速度稍慢

udp:不安全协议。 速度快

高级协议


http协议

基于TCP/IP的高级协议

基于请求/响应模型的:一次请求对应一次响应

1.4 Web资源请求响应过程


37d40156df9143985c983a4f39064503.png

二、Web服务器软件

2.1 web服务器软件概念

服务器:安装了服务器软件的计算机。


服务器软件:接收用户的请求,处理请求,做出响应。


web服务器软件:接收用户的请求,处理请求,做出响应。


在web服务器软件中,可以部署web项目,让用户通过浏览器来访问这些项目。


疑问:学习web开发,为什么必须要先装一个WEB服务器 ?


2.2 常见的web服务器软件:

webLogic:oracle公司,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

webSphere:IBM公司, 大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

JBOSS:JBOSS公司的,大型的JavaEE服务器,支持所有的JavaEE规范,收费的。

Tomcat:Apache基金组织,中小型的JavaEE服务器,仅仅支持少量的JavaEE规范servlet/jsp。开源的,免费的。

2.3 Tomcat:web服务器软件

Tomcat免费的Web服务器,该服务器支持全部JSP以及Servlet规范,也是我们学习javaweb所使用的服务器,所以我们有必要深入了解;


2.3.1 下载

可以直接在官网下载:http://tomcat.apache.org/


2.3.2 安装

解压压缩包即可。


注意:安装目录建议不要有中文和空格,解压的目录结构如下图


tomcat.png

2.3.3 卸载

删除目录就行了


2.3.4 启动

bin/startup.bat ,双击运行该文件即可


访问:浏览器输入:http://localhost:8080 回车访问自己


http://别人的ip:8080 访问别人


显示如下界面表示成功


60b848e6cdd729f1b4243586a629065c.png


启动时可能遇到的问题:


黑窗口一闪而过:


原因: 没有正确配置JAVA_HOME环境变量

解决方案:正确配置JAVA_HOME环境变量

端口号被占用:

端口号占用.png


暴力解决:找到占用的端口号,并且找到对应的进程,杀死该进程

使用命令netstat –ano|findstr [指定端口号]找到占用端口的进程


打开任务管理器->查看->选择列->然后勾选PID选项,回到任务管理器上可以查看到对应的pid,然后结束进程


温柔解决:修改自身的端口号

在conf/server.xml 配置文件中修改

<Connector port="8888" protocol="HTTP/1.1"
      connectionTimeout="20000"
        redirectPort="8445" />

一般会将tomcat的默认端口号修改为80。80端口号是http协议的默认端口号。


好处:在访问时,就不用输入端口号


2.3.5 关闭

正常关闭:

bin/shutdown.bat

ctrl+c

强制关闭:

点击启动窗口的 ×

2.3.6 Tomcat项目部署 (虚拟目录映射)

Web应用开发好后,若想供外界访问,需要把web应用所在目录交给web服务器管理,这个过程称之为项目部署(虚拟目录的映射)。

配置conf/server.xml文件, 在<Host>标签体中加入子标签配置

<!--<Context  path="虚拟路径"   docBase ="物理路径" />-->
 <Context docBase="D:\hello" path="/xixi" />
  • docBase:项目存放的路径
  • path:虚拟目录
  • 直接将项目放到webapps目录下即可
  • /hello:项目的访问路径–>虚拟目录
  • 简化部署:将项目打成一个war包,再将war包放置到webapps目录下。 war包会自动解压缩。

三、使用IDEA开发Web应用程序

3.1 创建Web项目

File -----> New -----> Project ----->

开始创建Web项目

**右键添加Web框架依赖 **

 

目录
相关文章
|
1月前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
1月前
|
网络协议 安全 JavaScript
Web实时通信的学习之旅:WebSocket入门指南及示例演示
Web实时通信的学习之旅:WebSocket入门指南及示例演示
136 0
|
1月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
42 0
|
2月前
|
前端开发 开发者 Python
从零到一:Python Web框架中的模板引擎入门与进阶
在Web开发的广阔世界里,模板引擎是连接后端逻辑与前端展示的重要桥梁。对于Python Web开发者而言,掌握模板引擎的使用是从零到一构建动态网站或应用不可或缺的一步。本文将带你从基础入门到进阶应用,深入了解Python Web框架中的模板引擎。
33 3
|
1月前
|
Java 应用服务中间件 Spring
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
【终极解决方案】Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml]
26 0
|
2月前
|
前端开发
|
2月前
|
弹性计算 前端开发 容器
【前端web入门第六天】02 flex布局
Flex布局是一种现代CSS布局模式,通过给父元素设置`display: flex`,其子元素可自动挤压或拉伸。它包含弹性容器和弹性盒子,主轴默认为水平方向,侧轴为垂直方向。主轴对齐方式由`justify-content`属性控制,侧轴对齐方式包括`align-items`(针对所有子元素)和`align-self`(针对单个子元素)。修改主轴方向使用`flex-direction`属性,`flex`属性用于控制子元素在主轴上的伸缩比例。此外,`flex-wrap`属性允许子元素换行,而`align-content`属性则定义多行对齐方式。
|
2月前
|
SQL 安全 数据库
从入门到精通:Python Web安全守护指南,SQL注入、XSS、CSRF全防御!
【9月更文挑战第13天】在开发Python Web应用时,安全性至关重要。本文通过问答形式,详细介绍如何防范SQL注入、XSS及CSRF等常见威胁。通过使用参数化查询、HTML转义和CSRF令牌等技术,确保应用安全。附带示例代码,帮助读者从入门到精通Python Web安全。
88 6
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
109 3
|
20天前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
113 45
下一篇
无影云桌面