web

发布时间 2023-11-15 20:24:54作者: 卡皮巴拉
  •  定义Servlet的方法继承  HttpServlet
  • service的作用
    • 根据获取用户请求的方法不同,执行不同的方法
    • 浏览器使用get请求方法访问就执行doGet方法,使用post请求方式就执行dopos方法;
  • request是请求对象,记录了客户请求的所有数据
    • 接收参数request.getParameter()
             String params_username=request.getParameter("username");  //html的name值
             String params_password=request.getParameter("password");
             String params_province=request.getParameter( "province");
  • response是响应对象,将服务器中的数据回应给客户的对象
    • 写回响应内容;

      response.getWriter().write(response_text);
      
  • Java是面向对象的,所有的事务都是对象
  • Servlet只有1个实例对象;
  • Servlet是线程不安全的;
  • 请求转发
  1. 浏览器发送了一次请求;
  2. easyE和easyF的request是一个对象;
    @WebServlet("/easye")
    public class EasyEServlet extends HttpServlet {
        @Override
        protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    req.getRequestDispatcher("easyf").forward(req, resp);
    }

     

  3. 请求转发可以访问项目中受保护的资源WEB-INF文件夹下的文件;
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
      req.getRequestDispatcher("WEB-INF/form.html").forward(req, resp);
            
        }
  • 重定向
  1. 浏览器发送了两次请求;
  2. 不能访问项目中受保护的资源,要访问本项目内容要写全路径;
  3. 重定向可以访问到项目外的地址;
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.sendRedirect("https://www.baidu.com");
    }
  • Servlet生命周期
  1. 默认在首次被访问时实例化对象,立即执行init方法;
    1. 可以使用loadOnStartup设置实例化对象顺序;
    2. loadOnStartup是负数(默认),就在第一次访问时实例化对象;
    3. loadOnStartup是正数,就在服务器启动时实例化对象,值越小越优先启动;
  2. 每次执行会执行service方法,然后根据请求方式分别执行doget和dopost方法;
  3. 服务正常结束会执行destory方法,被动的调用,作用是关闭Servlet对象中的资源;
  • ajax
  1. ajax异步的Javascript和xml   在页面不刷新的时候发送请求;
                $('[name="username"]').blur(function(){
                    //获取该输入框中的内容
                    var text=$(this).val();
                    //将改内容发送到服务器
                    $.ajax({
                        url:"easyname",//地址
                        data:{username:text},//传递给服务器的参数
                        //处理服务器回应的结果
                        success:function(result){
                            if(result==0){
                                alert("用户名可以使用")
                            }else{
                                alert("用户名被占用")
                            }
                        },//成功访问到服务器,后要执行的代码
                        error:function(){
                            alert("服务器开小差了")
                        }//请求失败  404找不到 500服务器报错  503不允许,权限不够 
                    });
  2. 在java文件获取用户提交的参数;
            String param_name=req.getParameter("username");
            if("zhangsan".equals(param_name)) {
                resp.getWriter().write("1");
            }else {
                resp.getWriter().write("0");
            }

     

  • jsp (基于java的服务端技术)
  1. <%@ %>:定义页面依赖属性,比如指定页面编码方式、引入其他文件等。
  2. <!-- -->:HTML注释;
  3. <%--  --%>:JSP的注释;
  4. <% %>:java代码脚本,局部变量声明;
  5. //:在java代码中的注释;
  6. <%! %>:类中声明脚本,只能声明,不能调用;