JavaWeb之Servlet day01

  • Servlet(Server Applet)全称Java Servlet,是java编写的服务端程序,器主要功能在于交互式的浏览和修改数据,生成动态的Web内容.
  • 第一个Servlet程序

    • 1:搭建JavaWeb项目

      webapp
          WEB-INF
               classes
               lib
      静态资源文件 
      
    • 2:实现Servlet的开发

       继承于HttpServlet ,重写service方法
       配置web.xml文件
      
    • 3:部署项目

      <Context docBase="项目路径" path="上下文路径"/>
      

Servlet生命周期

 init               //初始化
 getConfig          //获取配置信息
 service            //执行服务
 getServletInfo     //获取作者和,版本等信息
 destory            //销毁Servlet对象

Servlet请求的流程

 1:解析请求路径
 2:获取web.xml文件
 3:根据实例缓存池判断是否存在对象,不存在的话,根据权限定名创建servlet对象
 4:调用初始化以及服务等方法

Servlet初始化参数

 初始化参数是为了解决在java中的硬编码问题
 在web.xml文件的<init-parpam>标签中设置name和value 即可达到在整个Servlet中使用

Servlet继承体系

 都是实现于Servlet接口和ServletConfig接口
 抽象类GenericServlet
 抽象类HttpServlet
 实现类继承于HttpServlet

用户注册案例

  • 1:设置请求和响应的编码格式
    req.setCharacterEncoding(“UTF-8”);
    resp.setContentType(“text/html;charset=UTF-8”);

  • 2:获取请求参数
    PrintWriter out = resp.getWriter();
    String name = req.getParameter(“username”);
    String pd = req.getParameter(“password”);

  • 3:页面输出 设置提交方式为post

    out.print("<form action='/regist' method='post' >");
    out.print("账号:<input type='text' name='username' /><br/>");
    out.print("密码:<input type='password' name='password' /><br/>");
    out.print("<input type='submit' value='登录'/>");
    out.print("</form>");
    

简易计算器

  • 实现基本的加减乘除.

  • 1:设置请求和响应的编码格式

    req.setCharacterEncoding("UTF-8");
    resp.setContentType("text/html;charset=UTF-8");
    
  • 2:获取页面的请求的参数,实现运算

    PrintWriter out = resp.getWriter();
    String sNum1 = req.getParameter("num1");
    String sNum2 = req.getParameter("num2");
    String sFlag = req.getParameter("flag");
    String value="";
    if(hasLength(sNum1)&&hasLength(sNum2)){
        Integer v1 = Integer.valueOf(sNum1);
        Integer v2 = Integer.valueOf(sNum2);
        if("+".equals(sFlag)){
            value=v1+v2+"";
        }else if("-".equals(sFlag)){
            value=v1-v2+"";
        }else if("*".equals(sFlag)){
            value=v1*v2+"";
        }else {
            value=v1/v2+"";
        }
    }
    
  • 3:输出计算器页面,设置请求的提交方式为post

    out.print("<form action='/calc' method='post'>");
    out.print("<input type='number' name='num1' value='"+sNum1+"' />");
    out.print("<select name='flag'>");
    out.print("<option>+<option>");
    out.print("<option>-<option>");
    out.print("<option>*<option>");
    out.print("<option>/<option>");
    out.print("</select>");
    out.print("<input type='number' name='num2' value='"+sNum1+"' />");
    out.print("<input type='submit' value='=' />");
    out.print("<input type='number' name='num3' value='"+value+"' />");
    out.print("</form>");
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值