欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

web服务器

程序员文章站 2022-05-09 08:16:27
...

web 服务器

1. 分类

  • 管理静态内容的
    网页内容一旦设计好, 就不能在运行过程中改变
    常见的有:

    • apache
    • nginx
  • 管理动态内容的
    可以根据用户的不同,展示不同的网页,或是内容来自于数据库

      * 常见的 tomcat, jetty 免费的,开源的
      * 商业的: weblogin websphere jboss
    

2. nginx

目录结构:
conf 配置文件目录
html 自带的欢迎页面
nginx.exe 可执行程序
启动nginx

start nginx

用下面命令检查 nginx 进程是否启动

tasklist /fi "imagename eq nginx.exe"

可以通过下面的方式来访问 web 服务器:
打开浏览器,输入服务器的ip地址 + 网页名称

http:// ip地址 / 网页路径

默认的网页名一般是 index.html

常见命令

nginx -s reload  // 重新加载配置文件
nginx -s stop    // 强制停止
nginx -s quit    // 优雅停止,完成当前任务再停止

3. tomcat (apache 用java语言编写)

目录结构

bin         可执行程序
conf        配置目录
webapps     应用程序目录

bin\startup.bat  启动脚本
bin\startup.sh   linux 启动脚本
bin\shutdown.bat 停止脚本

停止方式:

  • 执行 shutdown.bat
  • 直接关闭黑窗口 (强制停止)
  • 选中黑窗口 按 ctrl+C

可以进入 conf/server.xml 文件进行如下配置

<Connector port="端口号" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" URIEncoding="utf-8"/>

URIEncoding=“解码字符集”

可以修改 conf/tomcat-users.xml 文件,定义tomcat 的管理员用户:

<role rolename="manager-gui"/>  <!-- 角色标签 -->
<role rolename="admin-gui"/>
<!-- manager-gui 是管理应用的, amdin-gui 是管理虚拟主机的 -->
<user username="tomcat" password="tomcat" roles="manager-gui,admin-gui"/>

进入 Manager App 管理界面后,可以
start 开启app
stop 停止app
reload 重新加载app
undeploy 反部署app

管理虚拟主机

查找 C:\Windows\System32\drivers\etc\hosts 文件,添加域名解析
DNS 域名映射
127.0.0.1 www.westos.com

然后通过 Host Manager 管理界面
添加name :虚拟主机的域名
添加appbase : 服务器的页面存储的文件夹
ROOT 对应根目录应用程序
index.html

4. java 开发 web 应用程序

目录结构

应用程序目录
    |-WEB-INF
        |- web.xml  部署描述符 ( 配置文件 )
        |- classes  放置 java 编译好的 class 文件 
        |- lib      放置 第三方的 jar 包(例如 mysql 的驱动等)

用 java 代码显示服务器的系统时间

Servlet 服务器端的程序

所有 servlet 需要继承 HttpServlet 父类
覆盖父类中的 service(HttpServletRequest request, HttpServletResponse response) {

}

在类上加一个注解 @WebServlet(urlPattern="/路径")

JSP (java server page)

<%@ page contentType="text/html;charset=UTF-8" language="java" %>

Address already in bind 8080

maven

管理jar包时,会连接网络下载jar包

默认仓库的位置 C:\Users\Administrator.m2

maven 的要素:

groupId 组织编号 com.westos
artifactId 项目名称 web2
version 版本 1.0

目录结构

src
    |-main
        |-java      (java代码)
        |-resources (配置文件)
    |-test
        |-java
        |-resources
pom.xml (可以添加 jar依赖,设置jdk版本,项目的字符编码)

教师机的 maven仓库网址: http://192.168.9.2:8081/nexus/

表单提交的两种方式

  1. get 请求,会把请求参数跟在地址之后,格式是
?参数名1=参数值1 & 参数名2=参数值2 ...

传递参数的长度有限

  1. post 请求, 请求参数会包含在请求体内,对外不可见
参数名1=参数值1 & 参数名2=参数值2 ...

没有长度限制, 注意 post 并不是真正安全(并没有对参数做加密处理)