数据库建表:user_table
字段:
拿数据,转发给客户端,页面显示
路径处理问题:获取项目根路径
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
服务端:server
【1】获取前端页面的数据,进行业务处理,常见API
-getParameter(name)
-setAttribute(attribute,value)
-转发重定向: request.getRequestDispatcher(url).forward(request,response); //此处的url地址问题: /项目根目录
客户端:page
【1】登录页面:表单
-action="<%=basePath %>jsp/demo4/server/loginServer.jsp"
-<a href="<%=basePath %>jsp/demo4/page/registe.jsp">新增用户</a>
-注意:表单的input: name—>request.getParameter(name)--->value
【2】注册页面:同上
-
-
-
【3】主页面
-处理逻辑判断问题
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt" %>-
-
获取数据
【1】每张表对应一个实体类[数组字段]+Dao【负责数据的读写】+Service【正常的业务、运算】
【2】JDBC操作,注意依赖mysql-connector-java
【3】路径问题: BaseDao.class.getClassLoader().getResource("jdbc.properties").getPath()
【4】注意区分:数据库表字段 && 实体属性 && 表单name 之间的区别!
SQL模糊查询小记:
SQL提供了四种匹配模式:
1,% :表示任意0个或多个字符。可匹配任意类型和长度的字符,有些情况下若是中文,请使用两个百分号(%%)表示。
比如 SELECT * FROM [user] WHERE u_name LIKE '%三%'
2,_ : 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
3,[ ] :表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
!!!对于通配符的处理:
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。据此我们写出以下函数: