1、防止中文乱码
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
request.setCharacterEncoding("UTF-8");
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html; charset=UTF-8");2、jsp页面跳转
request.getRequestDispatcher("./index.jsp").forward(request, response);  //请求转发
response.sendRedirect("error.jsp");  //请求重定向3、使用servlet注解
@WebServlet("/XXXServlet")4、jsp获取当前路径
${pageContext.request.contextPath}/xxxx5、js常用代码
<button onclick="funct1(1)" class="" type="submit"> 确认弹窗</button> <br>
<a class="" href="javascript:funct2(2)">警告弹窗</a> <br>
<a class="" href="javascript:history.back(-1)">返回上一级</a>
<script type="text/javascript">
  function funct1(id){
    if(confirm("确定选择?")){
      window.location.href="${pageContext.request.contextPath}/XXXServlet?method=Confirm&id="+id;
    }
  }
  function funct2(id){
    alert(id)
  }
</script>6、接收和传递参数
String username = request.getParameter("username"); //可从form表单或者页面对象获取
String password = request.getParameter("password");
request.setAttribute("list", list); //变量、对象和集合都可以存储7、JSTL标签使用
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<c:forEach var="list" items="${list }"> 
        <tr>
          <td>${list.name }</td>
          <td>${list.sex }</td>
          <td>${list.age }</td>
          <td>${list.telphone}</td>
          <td>${list.address }</td>
        </tr>
</c:forEach>8、CRUD实现步骤
(1)连接数据库 Connection conn = DBUtil.getConnection();
(2)预编译sql语句 PreparedStatement ps = conn.prepareStatement(sql);
(3)查询返回对象 ResultSet rs = ps.executeQuery();
(4)遍历结果,将字段存入对象,再将对象存入list
while(rs.next()){User user = new User(); user.setName(rs.getString("name")).. list.add(user)} return list
9、Maven配置(mysql、jstl、jsp、servlet)
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
  <dependency>
      <groupId>mysql</groupId>
      <artifactId>mysql-connector-java</artifactId>
      <version>5.1.47</version>
  </dependency>
  <!-- https://mvnrepository.com/artifact/javax.servlet/javax.servlet-api -->
  <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>3.1.0</version>
      <scope>provided</scope>
  </dependency>
  <!-- https://mvnrepository.com/artifact/javax.servlet.jsp/javax.servlet.jsp-api -->
  <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>javax.servlet.jsp-api</artifactId>
      <version>2.3.1</version>
      <scope>provided</scope>
  </dependency>
  <dependency>
    <groupId>jstl</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
  </dependency>
  <dependency>
    <groupId>taglibs</groupId>
    <artifactId>standard</artifactId>
    <version>1.1.2</version>
  </dependency>10、jstl类型转换 int转String
<c:set var="teaid">
          <c:out value="${list.teaid }"/>
        </c:set>11、servlet实现javascript
1、获取PrintWriter对象
PrintWriter out = response.getWriter();
2、实现js
// 警告框
out.write("<script type='text/javascript'>alert('警告框');</script>");
// 确认框
out.write("<script type='text/javascript'>confirm('确认弹框!');</script>");
// 重新加载页面
out.write("<script type='text/javascript'>location.reload();</script>");
// 放回当前页面
out.write("<script type='text/javascript'>history.go(-1);</script>");
3、关闭流
out.flush();
out.close();







