-
jsp页面元素构成:静态内容,指令,表达式,小脚本,声明,注释
查看全部 -
大致的思路。
查看全部 -
@JSP——案例项目——使用Cookie实现商品浏览记录 大致思路:
1、用一个字符串来记录浏览商品的id记录。***字符串处理:将id添加到字符串中,并用','隔开。操作方式:str += id + ",";这样所有的记录都保存在字符串中,如:1,3,5,1,....
2、通过request.getCookies()遍历cookie集合,通过cookie.getName().equals(strname)查询用于保存字符串的cookie,通过cookie.getValue()得到字符串后传入逻辑业务中的方法。
3、在逻辑业务操作中,定义一个方法接受字符串,取得字符串后,使用str.sqlit(",")将字符串分割为字符串数组[1,3,5,1...],这样就获得了商品id的浏览记录。
4、之后就是通过遍历和添加数组,最后返回浏览记录的数组即可
查看全部 -
html中点击链接不进行跳转的方法:
1:<a href="####"></a>
2:<a href="javascript:void(0)"></a>
3:<a href="javascript:void(null)"></a>
4:<a href="#" onclick="return false"></a>
5:<span></span>(好像在FF中不能显示)
Items item = itemDao.getItemsById(Integer.parseInt(request.getParameter("id")));
//itemDao.getItemsById(ID)//通过id取得商品信息
//request.getParameter("id") 通过内置对象request中的getParameter方法获取参数id的值,获取的是一个String类型的。
Integer.parseInt(request.getParameter("id") //把获取的id的值转换为int型的查看全部 -
内部请求转发:第一次请求的request的信息不丢失, 请求重定向:请求信息会丢失 <a href=""></a>:超链接相当于请求重定向
<dl> 定义定义列表 <dd> 定义定义列表中项目的描述 <dt> 定义定义列表中的项目 示例: <dl> <dt>计算机</dt>
VIEW层:显示商品信息 <a href="details.jsp?id=<%=item.getID()%>"><img src=""></a> 问号?传id,这样当鼠标移动到图片下方时,会显示地址和具体的编号
查看全部 -
Connection conn = null; 连接对象
PreparedStatement stmt = null; 语句对象
ResultSet rs = null; 结果集对象
ArrayList<Items> list = new ArrayList<Items>();//商品集合
Items item = new Items(); new一个item对象item.setId(rs.getInt("id")); 从resultset中获取值
查看全部 -
JDBC的知识补充: Connection conn=null //获取连接 PreparedStatement ptmt=null /*存放连接和执行SQL(批量处理-预编译加快数据库访问速度) ptmt=conn prepanredStatement(SQL语句)--创建ptmet(不直接执行) ptmt.executeQuery(); */ Statement stmt=null /*存放连接和执行SQL(一次性处理) stmt=conn.createStatement() //创建Statement(直接执行) rs=stmt.executeQuery("SQL查询语句") //执行并传递结果 */ ResultSet rs=null // 存放执行语句结果,数据集 资源释放顺序 rs.close->ptmt.close->conn(一般释放,释放了就无法再继续使用)
查看全部 -
创建entity包,在其中创建Items.java实体类,用来储存商品信息
实体类用到javabean的思想。
实体类名和表名一样,属性就是字段
对属性进行封装 操作数据库通过这个javabean来操作
查看全部 -
DBHelper
Navicat Premium,打开后新建连接->mysql,连接名随便,主机名端口那些跟DBHeper类里面的一一对应,确定完成连接。右键新建数据库,名字shopping,字符集utf-8,排序规则utf8_general_ci,确定完成数据库。右键数据库->运行SQL文件选择案例素材里的items.sql导入或者直接把它拖进去,完成后关闭连接再次打开就发现有个items的表了。
首先创建DBHelper类
private static final String driver ="com.mysql.jdbc.driver";//数据库驱动
private static final String url ="jdbc:mysql://localhost:3306/Shopping?useUnicode=ture&characterEncoding=utf"; // 连接数据库的地址,确保字符不会出现中文乱码
private static final String uesrname="root"; //数据库的账号
private static final String password ="123456"//数据库的密码
//上面都是固定写死的变量
private static Connection conn =null;// conn为空置; 需要导入包connection 属于SQL包下的
查看全部 -
用到JavaSE部分的JDBC技术,JavaEE部分的cookie保存浏览记录,JSP+JavaBean的分层架构思想 1.实现DBHelper类,来获得数据库连接等 2.创建实体类,对应了数据库中的表 3.创建业务逻辑类(DAO),也就是javabean,javabean封装了针对商品的一些业务逻辑,比方说查询(全部查询,单体查询,集合查询)。
查看全部 -
include动作适合在页面经常变化中使用,include指令适合在页面不经常变化中使用
理解:include指令是将源文件与include添加的文件一起编译成一个servlet文件,如果include添加的文件经常发生变化,那么每次都需要编译,同时原来页面的代码也需要一起编译,这样效率不高,如果此时使用include动作的话,只需要编译include添加进来的文件,原来页面的代码是不需要再次编译的,这样开销会小一点。
查看全部 -
forward双标签时可以在其中添加其子标签param,用来添加或修改内容
param动作
语法:
<jsp:param name=“参数名”value=“参数值”>
常常与<jsp:forward>一起使用,作为其的子标签。
1,param动作用法: 一般和forward动作连用,作为forward的子标签进行使用
2,向另一个页面传递参数 可以传递新的参数+可以修改原有的参数 <jsp:forward page="user.jsp"> <jsp:param name="email" value="110@qq.com"> <jsp:param name="password" value="111"> </jsp:forward>
< dl>< /dl>用来创建一个普通的列表, < dt>< /dt>用来创建列表中的上层项目, < dd>< /dd>用来创建列表中最下层项目, < dt>< /dt>和< dd>< /dd>都必须放在< dl>< /dl>标志对之间。
查看全部 -
forward动作
include 指令同一个页面执行file的代码
动作是分别不同页面一个获得数据
jsp设置字符编码:request.setCharacterEncoding("utf-8");
<% response.sendRedirect("login_seccess.jsp"); %>//告诉浏览器此路不通,你再问问另一页面能解决你的问题不?
<jsp:forward page="login_fail.jsp"/> //服务器将请求转发到另一页面,浏览器不知情.
<% pageContext.forward("login_fail.jsp");%> //服务器将请求转发到另一页面,浏览器不知情.
<%request.getRequestDispatcher("login_fail.jsp").forward(request,response);%> //服务器将请求转发到另一页面,浏览器不知情.
查看全部 -
session的销毁方式
查看全部 -
面试容易问到的“include指令与动作的区别”
include指令:包含指令,即包含的是源代码,一个Servlet,编译慢,执行快;
include动作:包含动作,即包含的是执行后的输出内容,两个独立的Servlet,编译快,执行慢;
include指令与include动作的区别:
查看全部
举报