1.点击form 表单中的button导致页面刷新问题
在form表单里的button,不给button添加type属性,点击按钮,button的类型会默认为submit,会默认提交表单并刷新页面。将inp将input或者button的type属性改为button,点击按钮页面就不会自动重新加载了。
2.MySQL中如何使用布尔类型
布尔类型等价于TINYINT(1)。因此创建表时定义的bool和Boolean类型,数据库中真实存储的是TINYINT(1)
3.侧边栏固定宽度,内容栏自适应
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
body{
margin: 0;
padding: 0;
}
ul {
margin: 0;
padding: 0;
width: 50px;
background-color: rgb(52, 73, 94);
position: absolute;
height: 100%;
}
#content{
margin-left: 60px;
}
</style>
</head>
<body>
<ul>
</ul>
<div id="content">
<div style="padding: 20px;">
<div style="background-color: red; width: 100%;height: 20px;">
</div>
</div>
<div style="background-color:greenyellow; width: 90%; height: 200px; margin: 0 auto;">
正文
</div>
</div>
</body>
</html>
4.判断radio是否选中的两种方法
<input type="radio" value="#00CC00" name="device">
js写法
let inputs = document.getElementsByName("device");
for (var i = 0; i < inputs .length; i++) {
if (inputs [i].checked) {
//XXXX
}
jquery写法:
var val=$('input:radio[name="device"]:checked').val();
if(val){
//XXXX
}
5.javascript与jsp发送请求到servlet的几种方式
// url提交
function submitForm1(){
window.location.href="TestServlet?param=hrefMethod";
}
// post提交
function submitForm5() {
var myForm=document.createElement("form")
var params={"param":"zs","param2":"li"};
myForm.method = "post";
myForm.action = "TestServlet";
myForm.style.display = "none";
for ( var k in params) {
var myInput = document.createElement("input");
myInput.name= k;
myInput.value= params[k];
myForm.appendChild(myInput);
}
document.body.appendChild(myForm);
myForm.submit();
//document.body.removeChild(myForm);
return myForm;
}
// ajax 提交
6.JSP内置对象之request获得所有的参数名称
<%@ page import="java.util.*" %>
<%
request.setCharacterEncoding("utf-8");
Enumeration<String> e = request.getParameterNames();//获得所有的参数名称
while(e.hasMoreElements()){ //遍历Enumeration
String str = (String)e.nextElement(); //取出下一个元素值
out.println(str+":"+request.getParameter(str)+"<br>");//打印输出变量名称
}
%>
7.equals 使用时的注意事项
不建议使用str.equals("hehe"),因为如果str是null,会报错
8.jdbc获取自增主键
String sql = "insert into account(username,name,age) values(?,?,?)";
PreparedStatement preparedStatement = con.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
//start widh 1
preparedStatement.setString(1,"6");
preparedStatement.setString(2,"6");
preparedStatement.setString(3,"6");
preparedStatement.executeUpdate();
ResultSet rs = preparedStatement.getGeneratedKeys();
rs.next();
int id = rs.getInt(1);
9.jdbc连接 要关闭资源
if(rs!=null)rs.close();
if(stm!=null)stm.close();
if(conn!=null)conn.close();
10.servlet获取到jdbc的数据传输到html的办法
- java创建json的字符串,直接传输的js的json,然后构造网页
- jstl,el表达式等等
11.js中获取jsp里的对象
var songlist=<%=uslist%>;
12.gson构造json
JsonArray listArray = new JsonArray();
for(int i=0;i<3;i++) {
JsonObject obj = new JsonObject();
obj.addProperty("id", i);
obj.addProperty("name", "你好"+i);
listArray.add(obj);
}
System.out.println(listArray);
[{"id":0,"name":"你好0"},{"id":1,"name":"你好1"},{"id":2,"name":"你好2"}]
13.map里面存放List
Map <Integer,List<Qussion>>map1 = new HashMap<>();
if(map1.containsKey(1)==false) { // 不存在 则建立
map1.put(1, new ArrayList<>());// 添加键值对
map1.get(1).add(new Qussion(11, "11", "11", "11", "11", true));
map1.get(1).add(new Qussion(12, "12", "12", "12", "12", true));
}
14.tomcat server location
-
Use workspace metadata(dose not modify Tomcat installation) 使用workspace的工作空间,不影响本地Tomcat安装配置
-
Use Tomcat installation (takes control of Tomcat installation) 使用和控制本地安装的Tomcat
-
Use custom location (dose not modify Tomcat installation) 使用自定义的目录,不影响本地Tomcat安装配置
15.tomcat莫名使用不了
删除了gson jar包,但是相关代码还没删除
16.java的json字符串传入js,会自动转化为object?
why
17.JSON与JS对象的区别与对比
JSON是JS的一种简单数据格式,JSON是JavaScript原生格式,它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号
var obj2={};//这只是JS对象
var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */
var obj4={'width':100,'height':200};/*这跟JSON就更不沾边了,只是JS的对象 */
var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */
var str1='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */
18.JS和JSP之间值传递
1.JS使用JSP中的变量
<SCRIPT LANGUAGE = "JavaScript" >
var tmp = "<%=test %>"; // 通过 "<%=javaCode %>" 引用jsp中的变量、方法等,注意:一定要加双引号
alert(tmp);
</SCRIPT >
2.JSP使用JS中的变量
- 由于JSP代码在服务器运行,无法直接使用客户端的JS代码中的变量。需先把客户端的变量提交到服务器,服务器再接收该变量。
构建一个hidden form表单->提交
function submit(){
var frm = document.getElementById("frmAppId"); // 获取表单
frm.submit(); // 对表单进行提交
}
19.EL表达式使用时要注意的地方
- EL只能访问page,request,session,application的对象
- 可以和js使用
<%
List<String>list = new ArrayList<String>();
list.add("bba");
list.add("fsd");
list.add("你1");
request.setAttribute("list1", list);
request.setAttribute("name", "你哈");
%>
// 要使用""
<script type="text/javascript">
var t1 = "${list1}";
var t2 = "${name}";
console.log(t);
</script>
- .(点)和中括号的区别
// key不存在,报错
点语法:${applicationScope.key}
键语法:${applicationScope["key"]}
// key不存在,不报错
推荐用法:${applicationScope[key]}
20.html固定高度为100%,多余部分滑动
div
{
height:150px;
overflow: scroll;
}
21.滚动条宽度
//滚动条高宽及背景 高宽分别对应横竖滚动条的尺寸
::-webkit-scrollbar{ width: 8px;height: 8px;background-color: #25498C;
22.让两个div横向排列
<div>
<div style="width:30%; float:right; background-color: red;">阅读次数:9999</div>
<div style="width:70%; float:right; background-color: greenyellow;">发表日期:2009-09-10</div>
</div>
23.头尾固定中间高度自适应布局
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>头尾固定中间高度自适应布局</title>
<style>
html,
body {
height: 100%;
margin: 0;
padding: 0;
}
#dHead {
height: 100px;
background: #690;
width: 100%;
}
</style>
</head>
<body>
<div style="height: 100%;">
<div id="dHead">固定头部100px;</div>
<div id="dBody1" style="
background-color: skyblue;
overflow: scroll;position: absolute;
width: 30%;
top: 100px;
bottom: 0px;">
<p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p>
</div>
<div id="dBody2" style="background-color: red;
overflow: scroll; position: absolute;
width: 68%;
top: 100px;
right: 0px;
bottom: 0px;">
<p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p> <p>1</p>
</div>
</div>
</body>
</html>
24.js格式化字符串
function StringFormat() {
if (arguments.length == 0)
return null;
var str = arguments[0];
for (var i = 1; i < arguments.length; i++) {
var re = new RegExp('\\{' + (i - 1) + '\\}', 'gm');
str = str.replace(re, arguments[i]);
}
return str;
}
使用:var str=StringFormat("abc{0}def","123");
25.js读取本地json文件
- 导入axios
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<script src="../js/axios.min.js"></script>
</head>
<body>
<script>
axios.get("stu_data.json")
.then(function (response) {
console.log(response.data[1])
})
.catch(function (error) {
console.log(error);
});
</script>
</body>
</html>
26.jsp路径问题
请求转发和重定向的路径是不一样的 response.sendRedirect("/threeceng_demo/Home/add.jsp"); request.getRequestDispatcher("/Home/login.jsp").forward(request, response);
1.teacher/teacher_question_add.jsp跳转到nchu.exam.servlet/teacher_question_servlet.java 使用:forms.action = "/Examtest/teacher_question_servlet";
2.请求转发后(转发后的页面路径出现问题)是相对路径出现问题
3.<img src="/Examtest/exam.png" alt="exam" width="60" height="60">
1、重定向的 / 表示:http://服务器ip:端口/
2、请求转发的 / 表示:http://服务器ip:端口/项目名
怎么记忆呢,很简单,重定向是浏览器发来的,只知道发到某个服务器,但是不知道发到服务器的哪个project,所以需要自己用代码声明; 而请求转发是服务器某个project内部的转发,转来转去都是在某个project内部,所以不需要手动声明项目名。