web 服务器

本文详细介绍了静态与动态内容管理的Web服务器,如nginx和Tomcat的配置与使用,包括目录结构、端口配置、虚拟主机管理及Java Web应用程序开发流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 分类

 * 管理静态内容的 - 网页内容一旦设计好,就不能在运行过程中改变
        常见的 apache, nginx
        80
 * 管理动态内容的 - 可以根据用户的不同,展示不同的网页,或是内容来自于数据库
        * java 编写的:
        * 常见的 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语言编写)

1)目录结构

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

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

注:webapps底下的每一个文件夹都对应着网页上的一个目录
   webapps/ROOT 对应  网页上的/  (特殊) 

 

2)停止方式

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

3)对tomcat进行端口的配置 

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

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

 URIEncoding="解码字符集"

4) 配置管理员的用户名和密码

可以修改 conf/tomcat-users.xml 文件,定义tomcat 的管理员用户:(重启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

5)管理虚拟主机(配置域名和服务器的对应关系)

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

然后通过 Host Manager 管理界面

 

添加name :虚拟主机的域名
添加appbase : 服务器的页面存储的文件夹
    ROOT 对应根目录应用程序
        index.html
        ...

方式2:直接进入 conf/server.xml 文件进行如下配置(永久生效

<Host></Host>复制一份,改一个域名name,改一个存储路径appBase,再改一个日志的前缀名称prefix 就好了

<Host name="www.westos.com"  appBase="D:\myapps"
            unpackWARs="true" autoDeploy="true">

        <!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html -->
        <!--
        <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
        -->

        <!-- Access log processes all example.
             Documentation at: /docs/config/valve.html
             Note: The pattern used is equivalent to using pattern="common" -->
        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="westos_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

 </Host>

4.java 开发 web 应用程序

目录结构

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

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

方式一:Servlet 服务器端的程序
所有 servlet 需要继承 HttpServlet 父类
覆盖父类中的 service(HttpServletRequest request, HttpServletResponse response) {

}

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

解一:创建一个MyServlet类,继承 HttpServlet

@WebServlet(urlPatterns = "/date")
public class MyServlet extends HttpServlet {

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.setCharacterEncoding("utf-8");
        resp.setContentType("text/html;charset=utf-8");

        String html = "<html><body><h1>" + new Date() +"</h1></body></html>";
        resp.getWriter().print(html);
    }
}

方式二:JSP (java server page)

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

解二:新建一个date.jsp

<%@ page import="java.util.Date" %><%--
  Created by IntelliJ IDEA.
  User: lenovo
  Date: 2019/1/8
  Time: 14:14
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
    <title>Title</title>
</head>
<body>
<%
    Date date = new Date();
    out.print(date);
%>
</body>
</html>

5.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://maven.aliyun.com/nexus/content/groups/public/

创建maven项目,

        首先File->Settings->Maven->User settings file 勾选Override,选中settings.xml所在目录

 

 

6.表单提交的两种方式

1) get 请求,会把请求参数跟在地址之后,格式是

?参数名1=参数值1 & 参数名2=参数值2 ...

传递参数的长度有限

2) post 请求, 请求参数会包含在请求体内,对外不可见

参数名1=参数值1 & 参数名2=参数值2 ...

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

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值