servlet,jsp及相关问题

  1.  问题汇总
    1.  缓存

 

 

还是不行 就删除tomcat 重新安装

 

    1.  自动部署

     

如果没有开着自动构建 导致 编写完之后不会生成class文件,导致ClassNotFunt 找不到对应的类

如果 开启自动构建 还是提示未找到

1 程序是否有错

看是否报红

2 是否生成class

 

如果没有生成,可能是因为程序有错,如果程序没有错误,还是不生成class

可能因为之前报错了,及时现在更改了,但是依然出现了缓存问题

可以刷新项目,或者关闭eclipse重新打开,或者编写一个main方法的类,运行一下

 

此时 如果程序没有问题 会正常运行,并且生成class文件

如果运行main也报错,找不到类,无法加载主类等

说明项目一定是有问题,确定代码没有问题,可以重新创建一个项目,把代码复制进去即可

    1.  运行问题

 

说明tomcat启动失败

1 代码有问题

控制台会报错

 

2 tomcat中删了一些东西,重新解压一下tomcat即可

    1.  端口冲突

     

这个弹框 就是端口被占用问题

改端口 可以再tomcat安装目录下的 conf中的server.xml中更改

 

 

    1.  路由重复

 

 

 

两个类 LoginServlet类的路由和AjaxServlet类的路由 一致了

    1.  请求流程

http://localhost:8080/Servlet_01/hello

当客户端浏览器发送请求 的时候

通过 localhost可以找到当前电脑

:8080 就找到 tomcat的webapps

 

Servlet_01 就是我们要执行的项目

/hello 就是我们要请求的servlet_01项目中的功能

此时 /hello就会去和Servlet_01项目中 的web.xml中定义的路由进行匹配(或者是注解定义的路由)

 

 

找到这个对应的类之后,就会去执行该类中的init方法,service方法等

或者是根据注解方式的路由 就可以执行定位到类

 

 

注意 整个项目中 路由 必须唯一

  1.  作用域

数据的使用范围

setAttribute(“属性”,Object) : 用于向对应作用域中保存数据

getAttribute(“属性”) : 用于在对应作用域中获取数据

    1.  Request

当前请求有效,如果向 request中保存了一个数据,该数据在当前请求结束前有效

 

通过测试 页面显示 永远都是1 因为每次新的请求 都是一个新的request对象 数据不共享

    1.  Session

当前会话有效,默认一次会话就是打开浏览器一直到浏览器关闭 是一次会话

当然可以指定session的过期时间

经常用于登陆校验

 

通过测试 session作用域的范围 是当前会话有效

当前会话不结束时  数值一次递增,当结束会话的时候,或者是新的浏览器的时候 会从1开始

    1.  ServletContext

全局作用域,一般叫application ,只要服务器没关闭,数据一直有效

 

  1.  初始化参数

 

我们基本上每个文件都需要设置字符编码

此时UTF-8是硬代码,后续想要更改很不方便,需要更改源码

所以一般这种情况我们会把UTF-8这个数据保存在xml中,后续更改的时候可以直接更改XML

    1.  局部初始化参数

 

在web.xml中 某个servlet注册的时候,在注册内  指明 初始化的参数

然后再servlet中可以通过servletConfig对象获取

 

通过测试 其他servlet 获取不到设置的参数,得到null 只有这个initParm类 可以获取

    1.  全局初始化参数

     

全局初始化参数可以再所有servlet中 通过servletContext获取

 

通过测试 全局初始化参数 可以再任何servlet中获取使用

  1.  JSP
    1.  概述

Servlet中 想要将数据内容打印到页面,需要在java中进行大量的html代码拼接,非常不合理,代码不美观,容易出错

而jsp就解决了这个问题,数据交给jsp  由他来完成数据的展示工作

JSP本质就是一个servlet,只不过之前是在java代码中拼接html代码

现在等于是在html代码中编写部分java代码获取内容

编写完之后,通过jsp引擎把jsp文件转换为 servlet文件,

 

我们再jsp中进行编码,常规的html编码,然后只需要嵌入少量的java代码把内容展示即可

最终运行这个jsp的时候,会先把jsp转换为java代码,还是转换为 拼接html的方式

    1.  基本使用

三种语法

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值