web项目出现奇怪问题,求大神帮帮忙

liang-chaohua 2014-08-06 03:24:43
情况是这样的,现在有一个数据表,数据表中有一个datetime类型的元素bdate,现在我将它部署在window平台完全可以运行,但是部署在linux平台,java中的date就不会转成mysql的datetime类型,我上网找了好久,还是不行;现在上代码,求指导啊!

jsp:
<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
<script type="text/javascript" language="javascript" src="jsalert/jquery.min.js" ></script>
<script type="text/javascript" language="javascript" src="jsalert/jquery.ui.draggable.js" ></script>
<script type="text/javascript" language="javascript" src="jsalert/jquery.alerts.js" ></script>
<script>
$(document).ready(function() {
$("div").ajaxStart(function(){
$("#loading").css("display", "block");
});
$("#content > div").hide(); // Initially hide all content
$("#tabs li:first").attr("id","current"); // Activate first tab
$("#content div:first").fadeIn(); // Show first tab content

$('#tabs a').click(function(e) {
e.preventDefault();
$("#content > div").hide(); //Hide all content
$("#tabs li").attr("id",""); //Reset id's
$(this).parent().attr("id","current"); // Activate this
$('#' + $(this).attr('title')).fadeIn(); // Show content for current tab
});

});

function checkspace(checkstr) {
var str = '';
for(i = 0; i < checkstr.length; i++) {
str = str + ' ';
}
return (str == checkstr);
}
function check()
{
var code=$("#user").val();
var pw=$("#password").val();
if(checkspace(code)) {
jAlert("身份证不能为空!","提示信息");
return;
}
if(checkspace(pw)) {
jAlert("密码不能为空!","提示信息");
return;
}
$.ajax({
type: "POST",
url : "studentfindsfzhmpw!findsfzhmpw.action",
data : {
code : code,
pw : pw
},
dataType : 'json',
timeout : 30000,
async : true,
success : function(data) {
if (data.ok=="suc"){
location.href='studentfindid!findid.action';
}else{
$("#loading").css("display", "none");
jAlert("身份证或密码输入有误!","提示信息");
}
},
error: function(){
$("#loading").css("display", "none");
jAlert("网络出错,请重试!","提示信息");
}
});
}

</script>
</head>

<body>
<div id="login">
<div id="logo"><img src="images/logo.png"/></div>
<div id="container">
<div id="content">
<div id="tab1">
<form action="" method="get">
<p><label for="user" style="background-color:#28b779;">身份证</label><input name="user" type="text" id="user"></p>
<p><label for="password" style="background-color:#ffb848;">密码</label><input name="password" type="password" id="password"></p>
<p><input type="button" onclick='check()' value="登 录"></p>
</form>
</div>
</div>
</div>
</div>
<div id="loading">
<div id="gif"><img src=images/loading.gif></div>
</div>
<%if(request.getParameter("show")!=null&&request.getParameter("show").toString().equals("1")){%>
<script LANGUAGE="javascript">
jAlert("请重新登录!","提示信息");
</script>
<%}%>
</body>


action:
public String findsfzhmpw() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String code = request.getParameter("code");
String pw = request.getParameter("pw");
EduStudentDAO dao = new EduStudentDAO();
stu = dao.findcodepw(code,pw);
String str="";
if (stu==null){
str="err";
}else{
str="suc";
ServletActionContext.getRequest().getSession().setMaxInactiveInterval(7200);
ActionContext actionContext = ActionContext.getContext();
Map session = actionContext.getSession();
session.put("loginid", stu.getStuId());
session.put("logincode", stu.getStuShenfenzhenghaoma());
session.put("loginname", stu.getStuXingming());

Date cdate=new Date();
Timestamp timeStamp = new Timestamp(cdate.getTime());
System.out.println(timeStamp);
LoginLog llog=new LoginLog();
llog.setBdate(timeStamp);

llog.setCode(stu.getStuShenfenzhenghaoma());
llog.setName(stu.getStuXingming());
llog.setCip(request.getRemoteAddr());
llog.setChost(request.getRemoteHost());
llog.setSid(request.getSession().getId());
llog.setSip(request.getServerName());
llog.setComment("登录");
LoginLogDAO daollog=new LoginLogDAO();
daollog.save(llog);

}
HttpServletResponse response=ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
response.setContentType("text/html");
PrintWriter out;
out = response.getWriter();
JSONObject json=new JSONObject();
json.accumulate("ok",str);
String jsonstr=json.toString();
out.println(jsonstr);
out.flush();
out.close();
return null;
}


dao
public class LoginLogDAO extends BaseHibernateDAO {
public void save(LoginLog llog) {
try {
getSession().saveOrUpdate(llog);
getSession().beginTransaction().commit();
getSession().flush();
getSession().clear();
getSession().close();
} catch (RuntimeException re) {
throw re;
}
}


现在用hibernate进行连接的,XML是
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<!--
Mapping file autogenerated by MyEclipse Persistence Tools
-->
<hibernate-mapping>
<class name="po.LoginLog" table="login_log" catalog="edu">
<id name="id" type="java.lang.Short">
<column name="id" />
<generator class="identity" />
</id>
<property name="bdate" type="java.sql.Timestamp">
<column name="bdate" length="30">
<comment>日期时间</comment>
</column>
</property>
<property name="code" type="java.lang.String">
<column name="code" length="20">
<comment>代码</comment>
</column>
</property>
<property name="name" type="java.lang.String">
<column name="name" length="20">
<comment>姓名</comment>
</column>
</property>
<property name="cip" type="java.lang.String">
<column name="cip" length="20">
<comment>客户端IP</comment>
</column>
</property>
<property name="chost" type="java.lang.String">
<column name="chost" length="20">
<comment>客户端主机名</comment>
</column>
</property>
<property name="sid" type="java.lang.String">
<column name="sid" length="40">
<comment></comment>
</column>
</property>
<property name="sip" type="java.lang.String">
<column name="sip" length="20">
<comment>服务端IP</comment>
</column>
</property>
<property name="comment" type="java.lang.String">
<column name="comment" length="50">
<comment>备注</comment>
</column>
</property>
</class>
</hibernate-mapping>
...全文
172 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zy_think123 2014-08-07
  • 打赏
  • 举报
回复
引用 6 楼 liangchaohua1255 的回复:
引用 5 楼 zy353003874 的回复:
这个和平台应该没有什么关系吧,你把你代码中的TimeStamp改用使用Date类型呢!(java.sql包)
我早修改了,最后还是不行,现在我直接用varcher类型保存在数据库算了,这样还比较方便,字符串在各平台都是通用
其实如果是保存时间的话,用long型保存更好,更加利于计算,也利于转换
liang-chaohua 2014-08-07
  • 打赏
  • 举报
回复
引用 5 楼 zy353003874 的回复:
这个和平台应该没有什么关系吧,你把你代码中的TimeStamp改用使用Date类型呢!(java.sql包)
我早修改了,最后还是不行,现在我直接用varcher类型保存在数据库算了,这样还比较方便,字符串在各平台都是通用
zy_think123 2014-08-07
  • 打赏
  • 举报
回复
这个和平台应该没有什么关系吧,你把你代码中的TimeStamp改用使用Date类型呢!(java.sql包)
liang-chaohua 2014-08-07
  • 打赏
  • 举报
回复
引用 3 楼 attilax 的回复:
针对linux写个数据转换器,,或者说适配器就ok拉..
我之前想过直接存储String类型,但是现在修改起来又比较麻烦,所以才上来问问有其他解决方法没有
attilax 2014-08-06
  • 打赏
  • 举报
回复
针对linux写个数据转换器,,或者说适配器就ok拉..
liang-chaohua 2014-08-06
  • 打赏
  • 举报
回复
引用 1 楼 ututuut 的回复:
这个可以吗?dateutil.datetosqltimetamp();
能讲清楚一些吗?不太明白
ututuut 2014-08-06
  • 打赏
  • 举报
回复
这个可以吗?dateutil.datetosqltimetamp();

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧