zoukankan      html  css  js  c++  java
  • Servlet

    Servlet

    初始Servlet

    Servlet是sun公司提供的一门用于开发动态web资源的技术。

      Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向浏览器输出数据),需要完成以下2个步骤:

      1、编写一个Java类,继承servlet接口。

      2、把开发好的Java类部署到web服务器中。

    按照一种约定俗成的称呼习惯,通常我们也把实现了servlet接口的java程序,称之为Servlet

    用户可以通过浏览器的url访问到的一个Java小程序

    单例多线程

     

     

    创建web项目 Test_Servlet

     

    第一个Servlet

    1. 写一个Servlet类

     

    2. 配置web.xml文件

     

     

    //处理请求乱码

    req.setCharacterEncoding("utf-8");

    //处理响应乱码

    resp.setContentType("text/html;charset=utf-8");

     

     

     

    web项目的引入jar方式

             1. 复制jar到项目WebContentWEB-INFlib 下

             2.  Add to Build Path (若jar包没有自动出现)

     

     

     

     

     

    进一步了解Servlet

             1. 转发 携带数据

                      1.1 地址栏不变;

                      1.2 服务器内部跳转,浏览器不知道

                      1.3 公用一个request,所以可以在request作用域中存储数据

                      1.4  A接到用户请求,帮助用户找到B

                      1.5 只能跳转到当前项目下

                      1.5 代码实现:req.getRequestDispatcher(URI).forward(req, resp);

            

    2. 重定向 不携带数据

             2.1 地址栏改变

             2.2 浏览器发送新的请求

             2.3 不共享一个request

             2.4  A接到用户的请求,告诉用户,你去找B

             2.5 可以到跳转到其它项目下

             2.5 代码实现:resp.sendRedirect(URI);

     

     

    小技巧

    如果需要传递数据 就使用转发

        如果不需要传递数据,可以使用重定向

     

    3.  request 转发

             获取前端数据:    req.getParameter("username")

             设置数据到request作用域: req.setAttribute(key , Value);

             前台EL表达式取值:${requestScope.Key}

             转发:req.getRequestDispatcher(URI).forward(req, resp);

             内部跳转,URI只能当前项目下,故不需要加项目名

    4.  response 重定向

             重定向:resp.sendRedirect(URI);

             可以跳转到外部项目,URI前需要加项目名

             获取当前项目名:req.getContextPath()

     

    第二个Servlet,登录跳转展示页面

    1. 添加登录界面login.jsp,成功界面success.jsp,失败界面fail.jsp

    2. 新建ServletLoginAction类,web.xml 设置其 URI的路径

    3. 在ServletLoginAction类中,添加逻辑:

             2.1 获取login.jsp前台页面参数

             2.2 设定账号验证规则

             2.3 验证成功到 success.jsp; 验证失败到 fail.jsp

             2.4 测试重定向和转发 跳转

    4. 使用注解 @WebServlet("URI"),替代web.xml设置

    5. 添加MyBatis逻辑

    Junit测试类

             用于测试service层逻辑

    1. 创建一个普通的类

    2. 测试类的方法必须是公开,无返回值的方法

    3. 被注释@Test修饰

    4. 导包Junit4

     

  • 相关阅读:
    springboot 实现 aop
    使用@import导入实现了ImportBeanDefinitionRegistrar接口的类,不能被注册为bean
    Spring Boot 动态数据源(多数据源自动切换)
    springboot2动态数据源的绑定
    三分钟学会@Autowired@Qualifier@Primary注解
    java复制文件的4种方式
    五款最好的免费同步软件
    springboot2多数据源完整示例
    WebSocket 结合 Nginx 实现域名及 WSS 协议访问
    Spring的注解@Qualifier注解
  • 原文地址:https://www.cnblogs.com/h-w-b/p/12675448.html
Copyright © 2011-2022 走看看