xqb——第一课知识点总结

一、后台-登录及主页业务

1. 关于js函数:

(1)Math.floor(Math.random()*36)

对小于36的值向下取整

(2)$(function(){…});  

 jQuery(function($){…});  

$(document).ready(function(){…})

这三个的作用是一样的,文档载入完成后执行的函数

2. 关于HTML标签:

(1)role属性

本质上是增强语义性 ,让辅助工具知道该标签的角色(是label还是button等)

(2) label中for 属性

点击 label 中的文字的时候,光标会定位到for 属性相应的 id 标签中

(3)frameset 标签

用来组织多个窗口(框架)。每个框架存有独立的文档

3. 关于servlet:

(1)req.getRequestDispatcher("main.jsp").forward(req, resp); 请求转发

客户首先发送一个请求到服务器端,服务器端发现匹配的servlet,并指定它去执行,当这个servlet执行完之后,它要调用getRequestDispacther()方法,把请求转发给指定的test.jsp,整个流程都是在服务器端完成的,而且是在同一个请求里面完成的。

(2)resp.sendRedirect(req.getContextPath() + "/main.jsp");    重定向

客户发送一个请求到服务器,服务器匹配servlet,这都和请求转发一样,servlet处理完之后调用了sendRedirect()这个方法,这个方法是response的方法,所以,当这个servlet处理完之后,看到response.senRedirect()方法,立即向客户端返回这个响应,响应行告诉客户端你必须要再发送一个请求,去访问test.jsp,紧接着客户端受到这个请求后,立刻发出一个新的请求,去请求test.jsp,这里两个请求互不干扰,相互独立

(3)另还有一种跳转页面的方法,也就是在Servlet中输出JavaScript代码

PrintWriter out = request.getWriter();out.println("<script>window.location.href = "url"</script>");这种方法和response.sendRedirect()的效率是差不多的,也要向服务器发出再次请求才能跳转到的URL.

(4)service()、doGet()、doPost()

service()是在javax.servlet.Servlet接口中定义的, 在 javax.servlet.GenericServlet 中实现了这个接口

doGet/doPost 是在 javax.servlet.http.HttpServlet 中实现的, javax.servlet.http.HttpServlet 是 javax.servlet.GenericServlet 的子类. 其实所有的请求均首先由 service() 进行处理, 而在 javax.servlet.http.HttpServlet 的 service() 方法中, 主要做的事情就是判断请求类型是 Get 还是 Post, 然后调用对应的 doGet/doPost 执行.

get和post提交的数据量是不一样

一个servlet里可以只写doPost或doGet方法,通常先用doGet(),然后在doPost()中调用doGet()。

例如

get方法可使用URL传参数:

jsp:<a href="SearchById?id=<%=stu.getID()%>">编辑</a> 

servlet:

public class SearchById extends HttpServlet {

  public void doGet(HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException {

    .....

    }

}

post方法通过提交表单进行调用:

jsp:<form action="Insert" method="post"> 

servlet:

public void doPost(HttpServletRequest request, HttpServletResponse response)
  throws ServletException, IOException {

    .....

    }

}

原文地址:https://www.cnblogs.com/love528/p/6821538.html