javaWeb

javaWeb,第1张

一.

内置对象与servlet的对应关系:

/**
 * JSP九大内置对象   Servlet 

 * pageContext      :null
 * √request        :HttpServletRequest
 * √session        :HttpSession(通过request.getSession())
 * √application    :ServletContext(this.getServletContext())
 * 
 * √response       :HttpServletResponse
 * √out            :PrintWriter(resp.getWriter())
 * page             :this
 * config           :ServletConfig(获取Servlet初始化参数的值)
 * exception        :Exception
 **/

只要修改了web.xml最好重新发布并启动tomcat!

# 编写E家园项目的流程

## 1.技术

> 三层架构
>
> - web显示层---职责:显示内容数据(只负责显示数据)
>   - 显示层所编写的代码------在webContent目录下
>   - 将代码存放到JSP页面中
>
> - 业务逻辑层---职责:中间桥梁。(只负责筛选数据)
>   - 业务逻辑层依赖于数据访问层
>   - 先从数据访问层中拿到数据后,按照特定的需求进行筛选数据
>   - 编写的代码:面向接口编程
>     - com.biz
>     - com.biz.impl
> - 数据访问层---职责:专门负责连接数据库获取数据(只负责提供数据)
>   - 连接数据库,执行指定的sql语句,拿到数据就OK
>   - com.utils
>   - com.dao
>   - com.dao.imp

> EL+JSTL

> Servlet

## 2.模板

> 1.模板属于HTML静态页面
>
> ```
> 根据提供的模板查看该页面大概有哪些功能?
> 登录  注册  数据显示等等
> ```
>
> **2.数据表分析**
>
> ```
> 用户表  文章信息表。。。。。
> 考虑表的属性有哪些。
> ```

## 3.编码

### 3.1 搭建环境

> - 保证eclipse和oracle数据库OK
> - oracle数据库将数据表创建好
> - eclipse新建web项目
>   - 架包:数据库驱动包    EL+JSTL 架包
> - 将数据访问层和业务逻辑层的包先创建好
> - 将模板中的静态页面转换成JSP页面

### 3.2 功能:用户登录

> - 编写com.zking.utils——DBHelper
> - 编写com.zking.entity——Users
> - 编写com.zking.dao——IUsersDao      数据访问层的接口
> - 编写com.zking.dao.impl——UsersDaoImpl  数据访问层的接口实现类
> - 编写com.zking.biz——IUsersBiz  业务逻辑层的接口
> - 编写com.zking.biz.impl——UsersBizImpl  业务逻辑层的接口实现类
> - 回到登录的JSP页面去提交
>   - 功能:login.jsp--------  doLogin.jsp--------------index.jsp

架构

 

servlet执行原理
           ① 当服务器接收到客户端浏览器的请求后,会解析请求URL路径,获取访问的Servlet的资源路径
          ② 查找web.xml文件,是否有对应的标签体内容。
          ③ 如果有,则在找到对应的全类名
          ④ tomcat会将字节码文件加载进内存,并且创建其对象
          ⑤ 调用其方法 

 (6)Servlet 生命周期

          Servlet 生命周期可被定义为从创建直到毁灭的整个过程

           ① Servlet 通过调用 init () 方法进行初始化

           ② Servlet 调用 service() 方法来处理客户端的请求

           ③ Servlet 通过调用 destroy() 方法终止(结束)

           ④ 最后,Servlet 是由 JVM 的垃圾回收器进行垃圾回收的

 

 

二、servlet的使用
(1)实现servlet

        ① 实现javax.servlet.Servlet接口;
        ② 继承javax.servlet.GenericServlet类;
        ③ 继承javax.servlet.http.HttpServlet类

(2)2种配置方式

①  注解   @webServlet("/路径")

②  web.xml中进行配置

    
 xxx    
 com.zking.AServlet
    
 xxx   
/xxx.do
 


(3) ServletConfig的配置方式

          ①  在标签种,通过标签来配置。有两个子标签:
          ②  :代表初始化参数的key。
          ③ : 代表初始化参数的value

(4) ServletContext对象常用方法

 | 返回值              | 方法名                                 | 说明                                   |
 | ------------------- | -------------------------------------- | -------------------------------------- |
 | void                | setAttribute(String name,Object value) | 向域对象中存储数据                     |
 | Object              | getAttribute(String name)              | 通过名称获取域对象中的数据             |
 | void                | removeAttribute(String name)           | 通过名称移除域对象中的数据             |
 | Enumeration | getAttributeNames()                    | 获取域对象中所有数据的名称             |
 | String              | getSevletContextName()                 | 获取servletContext的名称               |
 | String              | getContextPath()                       | 获取当前应用的访问虚拟目录             |
 | String              | getServletInfo()                       | 获取服务器名称和版本信息               |
 | String              | getInitParameter(String name)          | 根据名称获取全局配置的值               |
 | Enumeration | getInitParameters()                    | 获取全局配置的所有名称                 |
 | String              | getRealPath(String path)               | 根据虚拟目录获取应用部署额磁盘绝对路径 |


 
 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/730774.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-27
下一篇 2022-04-27

发表评论

登录后才能评论

评论列表(0条)

保存