javaWEB学习日记day02

1.端口被占用:BindeException

* 方式一:

找到占用的端口号,并且找到对应的进程,关闭该进程

* cmd -> netstat -ano

找到对应的PID,启动任务管理系统,找对应的PDID

* 方式二:修改自身的端口号

* conf -> server.xml

修改配置文件信息 -> <connector> 修改端口号

_______________________________________________

2.将项目部署到Tomcat服务器中的方式:

1)方式一:

直接将项目放到webapps目录下.

*优化 -> 将项目打包成 war文件

将war文件直接放在webapps目录下,该文件会自动解压

2)方式二: 配置conf -> server.xml文件

<Host>标签中设置

<Host>

<Context docbase="本地项目真实路径" path ="虚拟目录"/>

</Host>

3)方式三: conf->Catalina -> localhost -> 在localhost下创建任意名称的xml文件.

在xml文件中编写:

<Context docbase="本地项目真实路径"/>

虚拟目录: xml文件的名称

_________________________________________

3.web应用的目录结构 (完整结构)

|-应用的根目录

|-web静态资源

包含:html/css/js/图片...

|-WEB-INF - [受保护的,不可见,客户端不能直接访问的]

|-web.xml :web应用的核心配置文件

[针对的是:当前的web应用]

|-lib: 放jar包

[mysql,c3p0]

|-classes:放置字节码文件的目录

类路径 - src源码编译过来

|-MATE-INF - 元信息

__________________________________________

4.web工程的目录结构

|-src: java源代码

|-web: web应用的根目录

|-WEB-INF

|-web.xml: web应用的核心配置文件

|-lib: 放置依赖的jar包

|- index.jsp (静态资源)

_________________________________________

让web服务器访问到我们写的文件 -> javaEE规范

Servlet: server applet

1.概念:运行在服务器端的小程序

* servlet就是一个接口,定义了java类被浏览器访问到(tomcat所识别)的规则.

* 自定义一个类,实现Servlet接口,重写方法.

2.使用Servlet的步骤:

1).创建javaee项目

2).定义一个类,实现Servlet接口

3).实现接口中的抽象方法

4).配置Servlet

在web.xml中配置:

<servlet>

<!--给Servlet起的名字:随意-->

<servlet-name>ServletDemo01</servlet-name>

<!--servlet的类对应的完整类名-->

<servlet-class>web.b_servlet.ServletDemo01</servlet-class>

</servlet>

<servlet-mapping>

<!--名字必须和servlet-name的一致-->

<servlet-name>ServletDemo01</servlet-name>

<!--访问的资源路径:随意-->

<url-pattern>/demo01</url-pattern>

</servlet-mapping>

3.Servlet的执行过程:

1).当服务器接收到浏览器的请求后,会进行解析URL路径,获取到访问的Servlet的资源路径

2).查找web.xml文件,是否有对应的<url-pattern>的标签体内容

3).如果有,则找到对应的<servlet-calss>全类名

4).tomcat会将字节码文件加载到内存中,并且创建对应的对象

5).调用该对象的service()

4.Servlet的实现原理:

看图

5.Servlet的生命周期:

1)被创建: 执行init(),只执行一次

Servlet什么时候会被创建?

* 默认情况: 第一次访问时,Servlet被创建

* 可以在配置web.xml文件中设置

* <servlet>中设置 * 第一次被访问时创建

<load-on-startup> 的值为负数

* 在服务器启动时创建

<load-on-startup> 的值为0或者正整数

2)提供服务:执行service(),执行多次

说明servlet在内存中只有一个对象,servlet是单例

3)被销毁: 执行distroy(),只执行一次

* 服务器被关闭时,servlet被销毁

* 只有服务器在正常关闭时,才会执行distroy()

6.HttpServlet模板

Servlet的体系结构:

Servlet -- 接口

|- GenericServlet -- 抽象类

|- HttpServlet -- 抽象类

* 实现service(),将请求和响应转换后 -> this.service() ->做相应的请求方式判断,从而决定调用的是doPost()/doGet()

* GenericServlet:将servlet接口中其他方法都做了默认空实现,只将service()作为抽象方法使用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值