发表于: 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实现登录和注册功能;代码就不上传了- -!


返回列表 返回列表
评论

    分享到