javaSE_day22—— 服务器v10-v16

v10:登录

添加登录页面 ,成功和失败的页面。
在这里插入图片描述
loginok.html
在这里插入图片描述
loginerror.html
在这里插入图片描述

WebServer.java
在这里插入图片描述
测试截图:
在这里插入图片描述
在这里插入图片描述

V11:定义业务逻辑控制器

包名:cn.tedu.servlets
把server中Login 的逻辑封装到LoginServlet中,
把server中reg的逻辑封装到RegServlet中

  1. 定义HttpServlet类
    定义抽象类:
    抽象方法service
    转发 方法 forward方法
  2. 定义LoginServlet类,重写service方法
  3. 定义RegServlet类,重写service方法
  4. 重构server

HttpServlet.java
在这里插入图片描述
RegisterServlet.java
在这里插入图片描述
LoginServlet.java
在这里插入图片描述
WebServlet.java
在这里插入图片描述

v12:用反射创建对象

  1. 添加ServletContext类。
    (1)定义 Map<String,String> map 。存放:
    (K: 表单里的action (/myweb/register)
    V: 包名.类名(cn.tedu.servlet.RegisterServlet) )

    (2)定义方法initMapping
    /myweb/register = cn.tedu.servlet.RegisterServlet
    /myweb/login = cn.tedu.servlet.LoginServlet

    (3)定义init方法,调用initMapping方法

    (4)定义静态块,调用init方法

  2. 重构server的run方法,使用对象反射创建,并调用service方法。

  3. 在response类中封装sendRedirect方法,重构server和servlet代码。

ServletContext.java
在这里插入图片描述
WebServer.java
在这里插入图片描述
HttpResponse.java

  • 将WebServer.java和HttpServlet.java中的 forward() 方法去掉。
  • 修改WebServer、HttpServlet的两个子类RegisterServlet和LoginServlet中有关forward方法的语句。
    eg: forward("/myweb/loginok.html",response);改为response.sendRedirect("/myweb/loginok.html");
    在这里插入图片描述

v13:读配置文件

解析配置文件:重构ServletContext类的initServletMapping()方法。

ServletMapping.xml
在这里插入图片描述
ServletContext.java
解析ServletMapping.xml
在这里插入图片描述

v14:post请求

  1. 在HttpRequest类中添加post请求的方法
    public HttpRequest(InputStream in){
    parseRquestLine(in);
    parseHeaders(in);
    parseContent(in);
    }
  2. 解析post请求
    private void parseContent(InputStream in)
  3. 定义工具方法parseParams(),封装解析数据

HrrpRequset.java
在这里插入图片描述
在这里插入图片描述
测试截图:
在这里插入图片描述

v15:doGet / doPost、显示所有数据

  1. 在Servlet类中添加 添加doGet或者doPost方法
  2. 在service方法中通过获取发送方式,判断使用doGet还是doPost
  3. 编写ShowUserServlet完成,显示所有数据

HttpServlet.java
在这里插入图片描述
将LoginServlet.java、RegisterServlet.java中的service方法改为doGet或doPost方法。

showuser.html
在这里插入图片描述
ServletMapping.xml
在这里插入图片描述

ShowUserServlet.java
在这里插入图片描述
测试截图:
在这里插入图片描述
在这里插入图片描述

v16:修改、删除信息

  1. 添加修改的页面,并且编写UpdateServlet 控制器类 根据用户名修改密码
  2. 添加删除的页面,并且编写DeleteServlet控制器类 根据用户名删除

update.html
在这里插入图片描述
updateok.html
在这里插入图片描述
ServletMapping.xml
在这里插入图片描述
UpdateServlet.java
在这里插入图片描述
在这里插入图片描述
测试截图:

原始数据:
在这里插入图片描述
测试截图:**

原始数据:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
修改后数据:
在这里插入图片描述
根据用户名删除数据和修改数据类似,只是将修改的内容至为空即可。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值