jsp页面上有个button,还有个输入框:<input type="text" />
button的onCLick()用来检查输入的数据是否在数据库中。
就这么简单,但网上感觉好乱,有几点疑问:
1:网上说 连接数据库的java代码不能写在jsp的javascript里面,为什么?是因为客户端不能运行java代码么?
2:就我说的问题,怎么解决啊?onClick()触发的函数改写在jsp的哪里呢?
方法很多的,例如用ajax或者struts什么的 你要就是想做个试验 还是用ajax比较方便
具体怎么用的话还是google一下吧 用很多例子 顺便学习一下
具体怎么用的话还是google一下吧 用很多例子 顺便学习一下
我大概写下吧
-
HTML code
-
< script > $( function (){ $( " #name " ).click( function (){ $.ajax({ method: " get " , url: " /servlet/validate " , data: " name= " + $( " #name " ).val(), success: function (data){ if (data == 1 ) alert( " 已存在 " ); else alert( " 可以用 " ); } }); }); }); </ script > < input id ="name" type ="text" />
/servlet/validate
-
Java code
-
doGet(){ String name = request.getParameter( " name " ); Db db = new Db(); ResultSet rs = db.query( " select * from table where name=' " + name + " ' " ); if (rs.next()) response.getWriter().write( 1 ); else response.getWriter().write( 0 ); }
<script language="javascript">
function abc(){
alert("这里是谈出的对话框");
}
</script>
<input type="submit" name="submit" oncheck=""/>
<input type="submit" name="submit" oncheck="abc"/>
之前内容忘了填了。
还有你说的连接数据库的代码不写在jsp页面里,主要是因为维护不方便。在web开发过程中有两种开发模型,一个是model1 另一个是model2,在model1里主要是针对jsp进行开发,因为jsp开发小型应用比较快,但是维护特别不方便你需要修改大量的源文件,所以基本就抛弃了。另外一个是model2,主要是符合mvc的开发思想,把表现层和业务逻辑层分开,这样就是代码的耦合性低了好多,这样也就增加了代码的维护性,举个例子:假如你这次需要使用的数据库是mysql 那么你就用的是mysql的jdbc,如果下次换成db2了,那么在model1里,你就需要一个一个文件的修改,只要是用到了数据库的。而在model2里,你只需要修改一个文件就可以了,这个文件可能是.java,可能是.xml(hibernate),也可能是其他的。这样代码维护就方便了。
如果硬要说两者在实现功能上有区别吗?可以说是没有,不过是写代码的方式不同而已,但是以后几乎所有的web开发都是用分层思想的。
以上是我的个人见解,希望对你有所帮助.
其实这也没什么能和不能 在早期的JSP开发中 JSP页面中就包含了Java代码
而后来随着维护的需要 就将Java代码和JSP页面分开来写 这样使得一个页面或者一个网站的设计更加合理 容易维护,仅此而已....
<head>
<script type="text/javascript">
function fun(){
if(document.getElementById("flightid").value==""){
alert("请输入航班号");
return false; //验证是否为空
}
}
</script>
</head>
<body>
<%
request.setCharacterEncoding("utf-8");
%>
<form action="result.jsp" method="post" onSubmit="return fun()">
<h1>航班信息查询<br></h1>
请输入航班号:<input type="text" name="flightid" ></br>
<input type="submit" value="搜索航班">
</form>
</body>
</html>
是一个思路一样的例子 自己看一下吧 改一下 就行了
来源:足球直播