javaWeb_18(servlet)

一.

内置对象与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文件,是否有对应的<url-pattern>标签体内容。
          ③ 如果有,则在找到对应的<servlet-class>全类名
          ④ 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中进行配置

<servlet>    
 <servlet-name>xxx</servlet-name>    
 <servlet-class>com.zking.AServlet</servlet-class></servlet>
<servlet-mapping>    
 <servlet-name>xxx</servlet-name>   
<url-pattern>/xxx.do</url-pattern>
 </servlet-mapping>


(3) ServletConfig的配置方式

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

(4) ServletContext对象常用方法

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


 
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaWeb是一种用于开发基于Web的应用程序的技术,它可以使用Servlet来处理用户的注册和登录功能。在JavaWeb中,Servlet是一种用于扩展服务器功能的Java类,可以通过实现doGet()和doPost()方法来处理HTTP请求。 要实现注册和登录功能的Servlet,我们首先需要创建一个用于处理注册和登录请求的Servlet类。在这个类中,我们可以实现doGet()和doPost()方法来处理用户提交的注册和登录信息。在处理注册信息时,我们可以将用户输入的信息存储到数据库中,以便后续验证用户的登录信息。 在处理登录信息时,我们可以从数据库中检索用户提交的用户名和密码,并与数据库中存储的信息进行比较。如果用户名和密码匹配,则允许用户登录,否则返回错误信息。 另外,为了提高用户体验和安全性,我们还可以实现一些功能,比如使用验证码来防止恶意登录,使用加密算法存储用户密码,设置登录超时等。 除了处理用户请求外,我们还需要在web.xml文件中配置Servlet的映射关系,以便用户能够通过浏览器访问我们编写的Servlet。 总之,使用Servlet来实现注册和登录功能需要编写处理注册和登录请求的Servlet类,并通过配置web.xml文件来映射Servlet,还需要注意安全性和用户体验。这样用户便可以通过浏览器访问我们编写的Servlet,完成注册和登录操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值