常用web服务器
WebLogic
WebSphere
Tomcat
JAVA_HOME
JAVA的安装路径
CATALINA_HOME(可选.bat启动的时候找的安装路径的下Tomcat)
Tomcat的安装路径
C:\Windows\System32\drivers\etc\hosts文件
# localhost name resolution is handled within DNS itself.
127.0.0.1 localhost
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
name=定义一个名为localhost的虚拟主机
appBase=应用程序存放在CATALINA_HOME/webapps目录中
unpackWARs=“true”让tomcat在webapps文件夹中发现war文件时,自动将其解压,解压的好处是可以使程序运行更快,不解压也可以使用。
autoDeploy如果此项设为true,表示Tomcat服务处于运行状态时,能够监测appBase下的文件,如果有新有web应用加入进来,会自运发布这个WEB应用
Web应用开发好后,若想供外界访问,需要把Web应用所在目录交给Web服务器管理,这个过程称之为虚拟目录的映射
方式一:conf/server.xml中改了xml需要重启服务器
<Context path="/指定访问Web应用的URL入口" docBase="应用程序的路径" reloadable="true"/>
path=""不设置的话是缺省Web应用的URL入口
reloadable如果这个属性设为true, Tomcat服务器在运行状态下会监视在WEB-INF/classes和Web-INF/lib目录CLASS文件的改运.如果监视到有class文件被更新,服务器自重新加载Web应用
方式二:conf/[enginename]/[hostname]/指定访问Web应用的URL入口.xml如果是ROOT.xml为缺省Web应用的URL入口,多级映射以#号区分
<Context docBase="应用程序的路径"/>改了xml不需要重启服务器
模拟服务器
public static void main(String[] args) throws Exception {
ServerSocket server = new ServerSocket(9999);
Socket socket = server.accept();
InputStream is = ClassLoader.getSystemResourceAsStream("index.html");
OutputStream os = socket.getOutputStream();
int len = 0;
byte[] b = new byte[1024];
while((len=is.read(b))>0){
os.write(b, 0, len);
}
is.close();
os.close();
socket.close();
server.close();
}
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Home</title>
</head>
<body>
<h1>Home</h1>
</body>
</html>
tar.gz文件linux操作系统安装版本
exe文件windows系统下安装版本
zip文件windows系统下压缩版本
http(超文本传输协议) 端口 80
smtp(邮件传输协议) 端口 25
pop3(邮局协议版本3) 端口 119
ftp(文件传输协议) 端口 23
https(超文本安全传输协议)协议端口 443
<!-- 配置Session失效时间 -->
Tomcat的session超时可以在多个级别上设置:tomcat实例级别、Web应用级别、servlet级别以及运行时Context代码级别。 较低级别的设定会覆盖较高级别的设定。
Tomcat可以在以下几个地方设置session超时:
1 web容器级别
在conf/web.xml中
<session-config>
<session-timeout>30</session-timeout>
</session-config>
这里是以分钟为单位的,默认是30分;
2 webapp级别
在webapp中的 WEB-INF/web.xml
<session-config>
<session-timeout>30</session-timeout>
</session-config>
也是以min为单位;
3 应用程序代码中:硬编码
session.setMaxInactiveInterval(30*60);//以秒为单位
优先级,3>2>1
4 还有一种配置,但现在比较少见了,因为需要将Context配置在server.xml里:
修改conf/server.xml
<Context path="/test" docBase="/home/httpd/html/test"
defaultSessionTimeOut="3600" isWARExpanded="true"
isWARValidated="false" isInvokerEnabled="true"
isWorkDirPersistent="false"/>
单位为秒
listings:web应用列表改为true打开,开发完项目的时候false为了安全
<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<init-param>
<param-name>listings</param-name>
<param-value>true</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
Tomcat主页的账户密码设置:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="pj" password="pj" roles="manager-gui,admin-gui"/>
</tomcat-users>
用于规定.jsp以image/jpeg格式类型下载
<mime-mapping>
<extension>jpg</extension>
<mime-type>image/jpeg</mime-type>
</mime-mapping>
设置web应用的欢迎页
<welcome-file-list>
<welcome-file>index.html</welcome-file>
<welcome-file>index.htm</welcome-file>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
CMD命令行
netstat -an 查看谁都占用了些什么端口
netstat -anb 查看都是些什么程序占用了些什么端口
web应用中对web资源进行配置都是通过web.xml进行的
把web应用打成war包把包放入Tomcat中服务器启动后自动解压
盘符:\>jar -cvf dir dir.war
cmd命令行生成密钥
keytool -genkey -alias tomcat -keyalg RSA
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="指定生成的.keystore文件放入服务器里面的conf/.keystore下" keystorePass="生成密钥的密码"/>
客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通讯的格式
默认游览器是以get请求发送给服务器如超链接,如想改post提交方式可通过表单方式实现
1.get请求的内容有限制,post没有限制
2.get的内容在请求行url上面看得到,post的内容在请求体url上面看不到
头信息:
Remote Address:服务器远程地址加端口
Request URL:客户端请求的URL
Request Method:客户端请求的方式
Status Code:状态码
请求头:
accept:用于告诉服务器,客户端支持的数据类型
accept-encoding:用于告诉服务器,客户端支持的数据压缩格式
accept-language:客户端的语言环境
cache-control:
no-cache 强制每次请求直接发送给源服务器,而不经过本地缓存版本的校验
max-age>0 时 直接从游览器缓存中提取
max-age<=0 时 向服务器发送http请求确认 ,该资源是否有修改
有的话返回200 ,无的话 返回304.
user-agent:客户端通过这个头告诉服务器,客户端的软件环境
cookie:客户端通过这个头可以向服务器带数据
accept-charset:用于告诉服务器,客户端采用的编码
host:客户端通过这个头告诉服务器,想访问的主机名
if-modified-since:客户机通过这个头告诉服务器,资源的缓存时间
referer:客户端通过这个头告诉服务器,它是从哪个资源来访问服务器的