发表于: 2017-11-16 22:04:25
1 624
今天完成的事情:
最近这么多天学的都是杂七杂八的,所以没有上传日报
学习了Http协议,Servlet的具体知识,自己摸索了在阿里云上发布Tomcat项目(前端是找的模板)
什么是Http协议
HTTP,超文本传输协议是互联网上应用最为广泛的一种网络协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
Http协议的组成
Http协议由Http请求和Http响应组成,当在浏览器中输入网址访问某个网站时,你的浏览器会将你的请求封装成一个Http协议请求发送给服务器站点,服务器接收到请求后会组织响应数据封装成一个Http响应返回给浏览器。即没有请求就没有响应。
常见的状态码:
200:一切正常
302:重定向(跳转)
304:拿本地缓存
404:没有该资源
500:服务器端错误
B/S系统和C/S系统
Brower/Server :浏览器 服务器 系统(网站)
Client/Server: 客户端 服务器 系统(QQ,网络游戏)
Web开发中常用的Web应用服务器
1.weblogic:Oracle公司的大型收费web服务器 支持全部JavaEE规范
2.websphere:IBM公司的大型收费web服务器 支持全部JavaEE规范
3.Tomcat:Apache开源组织下的开源免费的中小型web应用服务器 支持JavaEE中的servlet和jsp规范
Servlet简介
Servlet是服务器小应用程序
用来完成B/S架构下,客户端请求的响应处理
平台独立,性能优良,能以线程方式运行
Servlet API为Servlet提供了同一的编程接口
Servlet一般在容器中运行
常见的Servlet容器(Tomcat)
一流的公司卖标准
Web应用的目录结构
注意:WEB-INF目录是受保护的,外界不能直接访问
Servlet简介
Servlet运行在服务端的Java小程序,是Sun公司提供的一套规范(接口),用来处理客户端请求,响应该浏览器的动态资源。但servlet的实质就是java代码,通过java的API动态的向客户端输出内容
servlet规范(三个技术点)
1.servlet技术
2.filter技术(过滤器)
3.listener(监听器)
实现步骤
1.创建类实现Servlet接口
2.覆盖尚未实现的方法
3.在web.xml进行servlet的配置
Servlet的API(生命周期)
Servlet接口中的方法
1.init(ServletConfig config)
何时执行:servlet 对象创建的时候执行
ServletConfig:代表的是该servlet对象的配置信息
2.service(ServletRequest req, ServletResponse response)
何时执行:每次请求都会执行
ServletRequest代表请求 认为ServletRequest内部封装的是http请求的所有信息
ServletResponse代表响应 认为ServletResponse要封装的是响应的信息
3.destory()
何时执行:servlet销毁的时候执行
Servlet的生命周期
1.Servlet何时创建
默认第一次访问servlet时创建该对象
2.Servlet何时销毁
服务器关闭servlet销毁
3.每次访问必然执行的方法
service方法(ServletRequest req, ServletResponse res)方法
url-pattern的配置方式:
1.完全匹配 访问资源与配置资源完全相同才访问到
2.目录匹配 /aaa/bbb/ccc/*
3.扩展名匹配 *.html
注意:2与3不要混用
服务器启动实例化Servlet配置
Servlet的何时创建:默认第一次访问时创建
为什么是默认?
当在servlet的配置时 加上一个配置 load-on-startup servlet对象在服务器启动时就创建
缺省Servlet
可以将url-pattern配置成一个/,代表该servlet是缺省的servlet
就是当所有的servlet都不执行的时候(访问的资源所有的servlet都不匹配时),缺省的servlet负责配置
其实,web应用中所有的资源的响应都是servlet负责,包括静态资源
欢迎页面 index.html
登录页面 见程序
ServletContext对象
ServletContext代表是一个web应用环境对象,ServletContext对象内部封装是该web应用的信息,ServletContext对象一个web应用只有一个
一个web应用有多个servlet对象
ServletContext对象的生命周期
创建:该web应用被加载(服务器启动或发布web应用(前提,服务器是启动状态))
销毁:web应用被卸载(服务器关闭或移除该web应用)
如何获得ServletContext?
1.ServletContext servletContext = config.getServletContext();//太麻烦一般不用
2.this.getServletContext();
ServletContext作用
1.获得web应用全局的初始化参数
web.xml中配置初始化参数
2.获得web应用中任何资源的绝对路径(重要*)
方法:String path = getRealPath(相对于该web应用的相对地址);
3.ServletContext是一个域对象(重要*)
什么是域对象?
存储数据的区域就是域对象
什么是域?
重定向
状态码:302
响应头:location 代表重定向地址
文件下载
什么情况下载?
浏览器不能解析.
什么情况下需要在服务器端编写文件下载的代码?
理论上,能解析的需要编写文件下载代码
实际开发中,只要是下载的文件都编写文件下载代码
request获得请求行
获得客户端的请求方式:String getMethod()
获得请求的资源:
String getRequestURI()
StringBuffer getRequestURL()
String getContextPath()-----web应用的名称
String getQueryString()-----get提交的url地址后的参数字符串
username=zhangsan&password=123456
注意:request获得客户机(客户端)的一些信息
ip 获得访问客户端的ip地址---request.getRomoteAddr()
Tomcat命令
cd /usr/local/tomcat/bin
./startup.sh
./shutdown.sh
ps -ef|grep java ----查询是否关闭
curl http://localhost:8080 ---查看是否成功运行(显示html代码)
部署Tomcat到阿里云的具体流程:
1.在阿里云CentOs系统上安装Java8
a.在ORACLE官网下载java的安装包;
b.将安装包放入之前创建好的/usr/java目录中并解压;
tar -zxvf jdk-8u152-linux-i586.tar.gz
2.配置Java环境变量
a.进入配置文件 vim /etc/profile
b.加入环境变量(其中包括maven3)
3.安装Tomcat7
a.下载tomcat的安装包到/usr/local
b.解压安装包
4.配置tomcat的servce.xml文件
a.配置其中两处localhost
b.访问 外网ip:8080 如果成功则配置成功,如果不成功改connect的port端口
5.把本地项目打成war包用FlashFXP上传到/usr/local/tomcat/webapps目录下(自动解压并完成servce.xml的配置)
5.配置阿里云安全组规则开放端口
a.开放8080端口
6.访问网站
http://47.95.205.11:8080/Servlet1/index.html
===============================================================================
明天计划的事情:做任务
*********************************************************************************************************************************
遇到的问题:
tomcat的工程始终访问不到,尝试了各种方法都没有成功;
解决方案,重装了java,重新配置环境变量;重新安装tomcat,并没怎么修改server.xml就解决了问题;
*********************************************************************************************************************************
收获:
事实证明,如果怎么做都不成功,重新安装试试,MB这是真好使;
通过前几天的学习学会了应用Servlet实现登录和注册功能;代码就不上传了- -!
评论