web服务器
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/
表单提交的两种方式
- get 请求,会把请求参数跟在地址之后,格式是
?参数名1=参数值1 & 参数名2=参数值2 ...
传递参数的长度有限
- post 请求, 请求参数会包含在请求体内,对外不可见
参数名1=参数值1 & 参数名2=参数值2 ...
没有长度限制, 注意 post 并不是真正安全(并没有对参数做加密处理)
推荐阅读
-
我的第一个python web开发框架(31)——定制ORM(八)
-
[转]56本前端工程师必备的javaScript学习书籍 web书籍
-
dwr的web.xml配置及注意事项
-
web游戏性能分析
-
jsp页面中解析服务器端提供的接口
-
Python开发WEB框架Flask详细介绍
-
CSS background-position随笔_html/css_WEB-ITnose
-
求大神_html/css_WEB-ITnose
-
Codeforces Round #279 (Div. 2) 解题报告_html/css_WEB-ITnose
-
如何配置虚拟主机,改变项目存储目录_html/css_WEB-ITnose