您的位置:首页 > Web前端 > JavaScript

第二周HTML、Css和JavaScript入门+班级通讯录大作业中的难点问题(数据库、JSP页面等)

2019-03-15 18:48 603 查看

1.在jsp页面查询数据库中指定的信息,明明有数据为什么查询不出?

猜测原因:编码问题,数据库中的编码和页面中的编码不统一,导致页面中输入的中文字符,在数据库中变成乱码,从而页面上显示不出需要查询的信息。

解决方法:

1.1.各种编码要保持一致,

//在每个需要和数据库连接的jsp页面添加以下三句代码,

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@page import="java.sql.*"%>

<%request.setCharacterEncoding("UTF-8");%>

1.2.数据库建表的URL,在用JDBC链接数据库的时候,在驱动语句后加上,

如url=jdbc:mysql://127.0.0.1:3306/pbook?useUnicode=true&characterEncoding=UTF-8

1.3. 先查询数据库字符集情况,

SHOW VARIABLES LIKE '%colla%';

用Set charset utf8语句,把数据库中的编码格式都转换成utf8

2. 关于ResultSet的getRow()函数

rs.last() 是将游标移动到ResultSet 对象的最后一行,以便进行读取数据,默认是第一行的前面的。如果只返回一行数据,则使用rs.first()也是可以 的。比如返回总条数的时候。

ResultSet的getRow()函数的返回结果是当前数据集的行号,而不是结果的行数如果要获取行数,可以这样

  1. rs.last();
  2. int row=rs.getRow();
  3. rs.beforeFirst();

3.按钮没有src属性,这是错误的<button src="detail.jsp">返回</button> 要用"<inputonclick="history.go(-1)" type="button" value="返回">" 或者用a链接标签<a href="detail.jsp"><button>返回</button></a>

4. 在登录页面输入的用户名,用request.getParameter()获取,

String n=request.getParameter("usercode");用session保存,request.getSession().setAttribute("user", t1);但是在首页显示为null??

//String n=request.getParameter("usercode");

//session.setAttribute("user", n);

//out.println(n);

//String user=(String)session.getAttribute("user");

解决办法:是因为我一个jsp文件中有两个session冲突了!这两句语句可以使用!

4.<base href="<%=basePath%>">
是什么意思呢?

base标签的作用,是引入绝对路径,相对路径不在起作用

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<base href="<%=basePath%>">
<meta http-equiv="pragma" content="no-cache">
 <meta http-equiv="cache-control" content="no-cache">
 <meta http-equiv="expires" content="0"> 
 <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
 <meta http-equiv="description" content="This is my page">
</head>

5.文本框中的提示文件

<textarea class="message" value="Write Message Here" onfocus="this.value='';" onblur="if(this.value.length < 1) this.value='Write Message Here';"></textarea>

<input name="usercode" type="text" size="20" placeholder="请输入用户名">

6.在jsp页面中怎么使用session保存数据库中获得的数据?

Login.jsp页面使用账号登录,在main.jsp主页面显示账号对应的用户名,然后想要保存该用户名,在留言板message.jsp页面使用该用户名?

7.min-width和min-height的用法,

min-height:为了是适用用户的屏幕大小,有些设计会适当地展开或收缩页面,在此类设计中,min-heigth指定一个盒子在浏览器窗口较窄的时候可以显示的最小高度!

div.test {

    
width
200px
;

    
min-height
50px
;

    
background-color
: deepskyblue;

}

min-width:会继承父元素的width,而min-height不会。

如果无父元素,也就是最外层是body,则默认100%   !!!此时要用浮动float:left;

div.test {

    
min-width
50px
;

    
min-height
50px
;

    
background-color
: deepskyblue;

    
float
left
;

}

Overflow:hidden  —>让多余的内容不显示!

8. 如何防止用户跳过登录页面直接访问要登陆后才可以访问的页面呢?

用session!!

String t=(String)request.getSession().getAttribute("user");

if(t==null){

    response.sendRedirect("login.jsp");

}else{

}

9.如何实现登录页面记住密码,用cookie实现。

https://www.geek-share.com/detail/2702398158.html

10.如何做到前端和服务器端的代码分开,不写在统一jsp页面,不是都放在WebContent中!

我写的大作业都是用jsp页面写的,想知道怎么更好的提高代码的可读性,把前端和后端分开写!一定要用到servlet吗?对servlet和web.xml文件不感冒,求教学习方法!

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: