> 文档中心 > java后端开发知识点总结(一)

java后端开发知识点总结(一)


1. 前端如何向后端传值?

  • get/post:“key=value&key1=value1”
  • form表单:name属性
  • ajax请求中:data{}属性

后台如何接收数据

String dname = request.getParameter("dname");//name的值与key
//批量传“A=001&A=002&A=003”String ds[] = request.getParameterValues("A");

2. 后端如何向前端传值?

  • 传统请求:通过转发或重定向或相应
//转发request.setAttribute("ddd",depts);request.getRequestDispatcher("/list.jsp").forward(request,response);//重定向response.sendRedirect("/oa/dept/list");
  • 前台取?
 <c:forEach items="${ddd}" var="det" varStatus="deptStatus">     <tr>  <td>${deptStatus.count}</td>  <td>${det.deptno}</td>  <td>${det.dname}</td>  <td>      <a href="javascript:void(0)" onclick="del(${det.deptno})">删除</a>      <a href="dept/detail?f=edit&deptno=${det.deptno}">修改</a>      <a href="dept/detail?f=detail&deptno=${det.deptno}">详情</a>  </td>     </tr> </c:forEach>
  • Ajax请求:(JSON传)
      String jsonStr = JSON.toJSONString(listArea);      response.getWriter().print(jsonStr);

3. 何时采用POST?GET?

(邮寄) POST? “增 删 改” “登陆功能密码传递时(安全)”
(取)GET?“查”

4. 模板方法设计模式?(解决类爆炸)

一次请求对应一个Servlet----->>一个业务对应一个Servlet,一个实现方式对应一个方法

@WebServlet("*.do")public class studentServlet extends HttpServlet {    @Override    protected void service(HttpServletRequest request, HttpServletResponse response)     throws ServletException, IOException { request.setCharacterEncoding("UTF-8"); System.out.println("Welcome"); String servletPath = request.getServletPath(); if ("/delete.do".equals(servletPath)) {     delete(request,response); } else if ("/update.do".equals(servletPath)) {     update(request,response); } else if ("/add.do".equals(servletPath)) {     add(request,response); } else {     select(request,response); }    }    private void update(HttpServletRequest request, HttpServletResponse response) {    }    private void add(HttpServletRequest request,HttpServletResponse response) {    }    private void select(HttpServletRequest request, HttpServletResponse response) {    }    private void delete(HttpServletRequest request, HttpServletResponse response) {    }}
<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>学生管理系统</title></head><body><h1>学生管理系统</h1><a href="/ex/add.do">增加学生信息</a><hr><a href="/ex/delete.do">删除学生信息</a><hr><a href="/ex/update.do">更改学生信息</a><hr><a href="/ex/select.do">查询学生信息</a></body></html>

5. UUID的应用?

由一组数字,字母,四个横杠组成,实际开发当中,采用UUID做数据库的主键,保证唯一性。

package test;import java.util.UUID;/** * @Author zuozuo * @Date 2022-05-30 * @Description:UUID的应用 **/public class uuidTest {    public static void main(String[] args) { /*UUID uuid = new UUID();*/ UUID uuid = UUID.randomUUID(); String id = uuid.toString(); System.out.println(id); System.out.println(id.length()); String idd = id.replaceAll("-", ""); System.out.println(idd);    }}

java后端开发知识点总结(一)

6.转发与重定向的区别?

转发是一次请求,重定向是两次请求。

1.使用了request域的时候,必须用请求转发。

2.当前后两个页面有数据传递时,例如查询了数据需要在页面显示时,用请求转发

3.访问站外资源的时候用重定向。

4.当没有数据传递,例如做了更新操作跳转到其他页面,就用重定向。

5.其他随意

转发(上图)与重定向(下图)
java后端开发知识点总结(一)
java后端开发知识点总结(一)