`学习笔记`分类下的文章

学习笔记

有关MacBook从10.9.5升级到10.11(EI capitan)后的问题及解决方法

看到别人的MAC在用最新的EI Capitan系统之后,我终于打破了自己坚持使用旧系统的原则,本着更好的体验和更高的性能,我将自己的本子也更新到最新,既然是更新升级上来的,不免有些小问题会出现,下面就逐个来说说我遇到的问题吧。

问题一:Apache无法正常启动?

首先遇到这个问题时,当然是去找日志了,因为在终端输入启动命令:sudo apachectl start之后,没有任何报错和提示,只是本地浏览器访问localhost or 127.0.0.1失败。但是,这个错误日志真的不好找,最后我干脆去配置文件etc/apache2/httpd.conf中寻找。

嗯!找到了! ErrorLog “/private/var/log/apache2/error_log” 好的,我去看看到底是什么原因。可是,“/private/var/log/apache2/” 目录根本没有任何文件!想着自己给它创建这个错误日志文件吧,创建好了之后使用命令启动apache,结果文件里面没有任何内容!

这也不行,看来通过错误日志是行不通了,于是乎,在网上查找各种资料,终于看到有个人在网页上写到:现在尝试启动一下Apache: sudo apachectl -k start。看到这个,带着好奇我也输入了一遍,好奇心真的不会害死猫!终于出现了报错了!第一次这么开心地看见报错信息,于是乎根据提示找到错误点并屏蔽掉了这个错误的配置。

阅读剩下更多

默认配图
学习笔记

[作业练习]带数据库的简易购物车

在前一次作业的基础上([作业]JavaBean+Jsp简易购物车实现),加上数据库来管理商品和购买记录。
最后结果展示:http://demo.dshui.wang/tomcat/ShopCartDemo/
首先,建立数据表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
#用户表
CREATE TABLE `cart_users` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(80) NOT NULL DEFAULT '',
`password` varchar(220) NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
<!--more-->

#商品表
CREATE TABLE `cart_goods` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`gname` varchar(50) NOT NULL DEFAULT '',
`gprice` double NOT NULL,
`gdname` varchar(20) NOT NULL DEFAULT '',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8;

#购买记录
CREATE TABLE `cart_lists` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` varchar(80) NOT NULL DEFAULT '',
`gid` int(11) unsigned DEFAULT NULL,
`gnumber` double DEFAULT NULL,
`gtprice` double DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `users` (`username`),
KEY `goodid` (`gid`),
CONSTRAINT `goodid` FOREIGN KEY (`gid`) REFERENCES `cart_goods` (`id`),
CONSTRAINT `users` FOREIGN KEY (`username`) REFERENCES `cart_users` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=60 DEFAULT CHARSET=utf8;

写入测试数据:

阅读剩下更多

默认配图
学习笔记

[作业]JavaBean+Jsp简易购物车实现

本次作业要求使用到JavaBean+纯Jsp,带有登陆功能的购物车系统。
登陆功能这里就不多讲了,前面的聊天室已经做过,这边直接拷贝就能使用了。
另外,本次作业中我加入了BootStrap来做一个小小风格美化。
不多说,直接上代码!
index.jsp 首页,也是登陆界面

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
Cookie[] cookies = request.getCookies();
String uname = "";
String upwd = "";
if(cookies!=null){
for(int i=0;i<cookies.length;i++)
{
Cookie cookie=cookies[i];
if(cookie.getName().equals("remname"))
{
uname = cookie.getValue();
}
else if(cookie.getName().equals("rempwd"))
{
upwd = cookie.getValue();
}
}
}
%>
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>请登录ShopCartDemo</title>
<link href="bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<form class="form-horizontal" action="dologin.jsp" method="post" name="loginform">
<div class="form-group">
<label for="inputusername" class="col-sm-5 control-label">用户名</label>
<div class="col-sm-2">
<input class="form-control" id="inputusername" type="text" name="username" value="<%=uname%>" placeholder="username" />
</div>
</div>
<div class="form-group">
<label for="inputpassword" class="col-sm-5 control-label">密码</label>
<div class="col-sm-2">
<input class="form-control" id="inputpassword" type="password" name="password" value="<%=upwd%>" placeholder="password" />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-5 col-sm-2">
<div class="checkbox">
<label>
<input type="checkbox" name="remember" value="true"> 记住我
</label>
</div>
</div>
</div>

<div class="form-group">
<div class="col-sm-offset-5 col-sm-2">
<button type="submit" class="btn btn-default">登陆</button>
<button type="reset" class="btn btn-default">重置</button>
</div>
</div>

</form>
</div>
</body>
</html>

dologin.jsp 登陆信息处理页面

阅读剩下更多

默认配图
学习笔记

[作业]Servlet简易聊天室

简单例子-Servlet聊天室,所用工具:NetBeans IDE(配备GlassFish)
本次例子重在思路,页面未做任何美化。
最后结果展示:http://demo.dshui.wang/tomcat/First_chat_room/
首先,需要一个登陆页面。
Login.jsp

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%
Cookie[] cookies = request.getCookies();
String uname = "";
String upwd = "";
if(cookies!=null){
for(int i=0;i<cookies.length;i++)
{
Cookie cookie=cookies[i];
if(cookie.getName().equals("remname"))
{
uname = cookie.getValue();
}
else if(cookie.getName().equals("rempwd"))
{
upwd = cookie.getValue();
}
}
}
//上面代码用来判断用户是否曾保存过登陆信息
%>
<!DOCTYPE html>
<html>
<head>
<title>牛逼的登陆界面</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
<div>
<form action="Main" method="post" name="loginform">
<table>
<tr>
<td>用户名:</td>
<td>
<input type="text" name="username" value="<%=uname%>" />
</td>
</tr>
<tr>
<td>密码:</td>
<td>
<input type="password" name="password" value="<%=upwd%>" />
</td>
</tr>
<tr>
<td colspan="2" style="text-align: right;">
记住信息<input name="remember" type="checkbox" value="true" />
<input type="submit" name="submit" value="登录"/>
<input type="reset" name="" value="重置"/>
</td>
</tr>
</table>

</form>
</div>
</body>
</html>

新建一个用来处理登录信息的Servlet: Main.java 所有的处理都在DoPost()完成

阅读剩下更多

默认配图
学习笔记

Discuz的数据库的迁移

如果WEB服务器迁移,除了将论坛所有的文件转移到新的服务器上之外,还需要将数据库一同迁移。文件转移完毕之后,并不能算完成了,因为这里还有数据库的配置没有修改。
Discuz论坛,如果需要迁移数据库,那么我们在转移的数据库的所有数据之后,还需要重新配置一下Discuz的配置文件:
论坛连接Ucenter的配置:config/config_ucenter.php
论坛的配置:config/config_global.php
Ucenter的配置:uc_server/data/config.inc.php
在这三个文件里面,修改对应的数据库地址、数据库名称、用户名、密码。
全部配置完毕之后,保存就可以了。

阅读剩下更多

默认配图
学习笔记

Mac OS(苹果电脑) 如何清空DNS缓存?

很多时候,因为域名的解析长时间未生效,我们无法通过域名访问刚刚解析的主机,最快的方法就是清空本地DNS缓存。
我们都知道,在Windows下面,想要清空本地dns缓存只需要执行一条CMD命令:

ipconfig/flushdns
但是在使用苹果这样高大上的Mac系统的时候,就得用它独特的命令了。不过,不同的MAC系统版本命令也不一样!
Tiger或更低版本 Mac OS:

sudo lookupd -flushcache

Leopard和Snow Leopard:

sudo dscacheutil -flushcache

而到了Lion、Mountain Lion和Mavericks:

sudo killall -HUP mDNSResponder

然后是Yosemite:

sudo discoveryutil mdnsflushcache

最后就到了EI Caption:

sudo dscacheutil -flushcache
另外,提一下,Linux下通用命令:

sudo /etc/init.d/dns-clean start

阅读剩下更多

默认配图
学习笔记

作业4-2(带用户的留言板)单页面实现!

作业4-2要求
演示页面:http://www.dshui.wang/html/board2.php
本次作业基于作业4-1完成,部分文件在4-1中给出:
所需要的数据表:

1
2
3
4
5
6
7
CREATE TABLE `msg` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`content` varchar(254) NOT NULL DEFAULT '',
`username` char(10) DEFAULT '',
`stime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
1
2
3
4
5
6
7
CREATE TABLE `user` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`username` char(20) NOT NULL DEFAULT '',
`pwd` varchar(20) NOT NULL DEFAULT '',
`registtime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

文件board2.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
<?php
include './mysqlconfig.php';
session_start();
if($_POST['do']=="login"){
$username = $_POST['username'];
$pwd = $_POST['passwd'];
$sql = "select * from user where username='$username' and pwd='$pwd';";
$res = mysql_query($sql);
$row = mysql_fetch_assoc($res);
if ($row['id'] <> ''){
$_SESSION['username'] = $row['username'];
echo "<script>alert('登陆成功!')</script>";
}else{
echo "<script>alert('登录失败!用户名或密码错误!')</script>";
}
header ( "refresh:0;url=" );
}elseif($_POST['do']=="registe"){
$rname = $_POST['rname'];
$rpwd = $_POST['rpasswd'];
$sql = "insert into user(username,pwd) values ('$rname','$rpwd');";
if(mysql_query($sql)){
$_SESSION['username'] = $rname;
echo "<script>alert('注册成功!已经为您自动登录!')</script>";
}else{
echo "<script>alert('注册失败!')</script>";
}
header ( "refresh:0;url=" );
}elseif($_POST['do']=="submit"){
$content = $_POST['content'];
echo $content;
$sql = "insert into msg(content,username) values (\"{$content}\",'".$_SESSION['username']."');";
if(mysql_query($sql)){
echo "<script>alert('留言成功!')</script>";
header ( "refresh:0;url=" );
}else{
echo "<script>alert('不知道怎么的,留言失败了。')</script>";
}
}elseif($_POST['do']=="logout"){
session_unset();
session_destroy();
echo "<script>alert('成功退出登陆!')</script>";
header ( "refresh:0;url=" );
}
$sql = "select * from msg order by id desc;";
$result = mysql_query($sql);
?>
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>简易留言板(带用户验证)</title>
<style type="text/css">
#tab {
BORDER-BOTTOM: #c2130e 3px solid; HEIGHT: 60px
}
#tab p{
FLOAT: left; LINE-HEIGHT: 21px; text-align:center
}
#tab p.hit {
BACKGROUND: #dcdcdc; BORDER-LEFT: #f2f2f2 1px solid; WIDTH: 40px; CURSOR: pointer
}
#tab p.nhit {
BACKGROUND: #c2130e; BORDER-LEFT: #f2f2f2 1px solid; WIDTH: 40px; COLOR: #fff
}
</style>
</head>

<body bgcolor="#56FF00">
<div style="margin:0 auto;width:400px;">
<?php if(!isset($_SESSION['username']) || $_SESSION['username']==''){?>
<div id="usertip" class="login">

注意:只有登陆之后才能进行留言哦!

<div id="tab">

登陆

注册

</div>
<div id="login">
<form name="login" method="post">
<input type="hidden" name="do" value="login">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="username" ></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
<td><input type="password" name="passwd" ></td>
</tr>
<tr>
<td></td>
<td align="right"><input type="submit" value="登陆" /></td>
</tr>
</table>
</form>
</div>
<div id="reg" style="display: none;">
<form name="registe" method="post">
<input type="hidden" name="do" value="registe">
<table>
<tr>
<td>用户名:</td>
<td><input type="text" name="rname" ></td>
</tr>
<tr>
<td>密&nbsp;&nbsp;&nbsp;&nbsp;码:</td>
<td><input type="password" name="rpasswd" ></td>
</tr>
<tr>
<td></td>
<td align="right"><input type="submit" value="注册" /></td>
</tr>
</table>
</form>
</div>
</div>
<?php }else{?>
<div class="form">

当前用户:<?php echo $_SESSION['username'];?>
<form method="post">
<input type="hidden" name="do" value="logout">
<input type="submit"value="退出登录">
</form>

<form method="post">
<textarea name="content" cols="45" rows="5" style="width: 400px; height: 88px;"></textarea>

<input type="hidden" name="do" value="submit">
<div align="right"><input type="submit" value="留言" />&nbsp;</div>
</form>
</div>
<?php }?>
<div class="msg">
<table border="1" bordercolor="#FFFFFF">
<?php while ($rows = mysql_fetch_assoc($result)){?>
<tr>
<td><span><?php echo $rows['username'];?> </span><span class="datetime">(<?php echo $rows['stime'];?>)</span>
<span class="content"><?php echo $rows['content'];?></span></td>
</tr>
<?php }?>
</table>
</div>
</div>
<script>
var Tags=document.getElementById('tab').getElementsByTagName('p');
var usertip=document.getElementById('usertip').getElementsByTagName('div');
var len=Tags.length;
var flag=0;//修改默认值
for(i=0;i<len;i++){
Tags[i].value = i;
Tags[i].onmouseover=function(){changeNav(this.value)};
}
Tags[flag].className='nhit';
function changeNav(v){
Tags[flag].className='hit';
usertip[flag+1].style.display="none";
flag=v;
Tags[v].className='nhit';
usertip[v+1].style.display="";
}
</script>
</body>
</html>

阅读剩下更多

默认配图
学习笔记

作业4-1(简易留言板)

作业4-1(简易留言板)
演示页面:http://www.dshui.wang/html/board1.php
首先我们得建立一个数据表用来存放留言信息:(由于之前作业有建立数据库’XSGL’,我们就直接用这个数据库啦)

1
2
3
4
5
6
7
CREATE TABLE `msg` (
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`content` varchar(254) NOT NULL DEFAULT '',
`username` char(10) DEFAULT '',
`stime` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

建立一个mysql的连接文件: mysqlconfig.php

1
2
3
4
5
6
7
8
9
10
11
<?php
error_reporting(0);
header ( "Content-type:text/html;charset=utf-8" );
$dbhost = 'localhost';
$dbname = 'XSGL';
$user = 'root';
$pwd = '1234';
$conn = mysql_connect($dbhost,$user,$pwd) or die ( "could not connect mysql" );
mysql_select_db ( $dbname, $conn ) or die ( "could not open database" );
mysql_query ( "set names utf8;" );
?>

新建一个留言本程序:board1.php

1
2
3
4
5
6
7
8
9
10
11
<?php
include './mysqlconfig.php';
if($_POST['issubmit']!=null){
$content = $_POST['content'];
$sql = "insert into msg(content) values ('".$content."');";
$res = mysql_query($sql);
header ( "refresh:0;url=" );
}
$sql = "select * from msg order by id desc;";
$result = mysql_query($sql);
?>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>简易留言板</title>
</head>

<body bgcolor="#56FF00">
<div style="margin:0 auto;width:400px;">
<div class="form">
<form method="post">
<textarea name="content" cols="45" rows="5" style="width: 400px; height: 88px;"></textarea>

<div align="right"><input type="submit" name="issubmit" value="留言" />&nbsp;</div>
</form>
</div>
<div class="msg">
<table border="1" bordercolor="#FFFFFF">
<?php while ($rows = mysql_fetch_assoc($result)){?>
<tr>
<td><span class="datetime">(<?php echo $rows['stime'];?>)</span>
<span class="content"><?php echo $rows['content'];?></span></td>
</tr>
<?php }?>
</table>
</div>
</div>
</body>
</html>

阅读剩下更多

默认配图
返回顶部