学习笔记(一)——Java+ajax+servlet
-
前台
表单的提交
- 表单的Action提交,提交按钮类型submit
<form id="modifyForm" action="Actioncontroller.do?action=login" method="post">
<input id="test" name="test" type="text" value=""/>
<input id="submitButton" type="submit" value="确定" class="btn btn-success"/>
<input id="backButton" type="button" value="返回" class="" onclick="history.go(-1);"/>
</form>
提交表单后会跳转到一个新的地址去,我觉得这样跳转显得不好看,学习了JQuery中的ajax。
2. ajax的表单提交,提交按钮类型button
<script type="text/javascript">
function test(){
$.ajax({
url: 'Actioncontroller.do?action=login',
type: 'POST',
data: $('#modifyForm').serialize(),
success: function(data){
alert(data);
window.location.href('login.html');
}
});
}
</script>
<form id="modifyForm" action="#" method="post">
<input id="test" name="test" type="text" value=""/>
<input id="submitButton" type="button" value="确定" class="" onclick="test()"/>
<input id="backButton" type="button" value="返回" class="" onclick="history.go(-1);"/>
</form>
至于ajax的参数,可以参考https://blog.csdn.net/rammus7/article/details/78419567
-
后台数据处理
-
根据表单Action或ajax中的url的不同调用不同函数,写一个加载其他包类并调用方法的封装类。
-
对数据库的加载连接和增删检查这些方法进行封装,参考https://blog.csdn.net/weixin_38303684/article/details/78263008
-
根据Action写方法,并对这些方法进行封装
先配置Web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" version="2.5">
<display-name></display-name>
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>Maincontroller</servlet-name>
<servlet-class>com.Servlet.Maincontroller</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Maincontroller</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
</web-app>
例如上述例子,以后序.do结尾都映射到com.Servlet.Maincontroller这个类中
加载类和调用封装类的方法
以上述例子获取前台的servletPath,上面表单的servletPath=“Actioncontroller.do”
通过subString对servletPath字符串进行修改,(PS:Actioncontroller是类名)
再加上com.servlet这个包名。合起来的Classname="com.servlet.Actioncontroller" (即包.类)
然后通过Class pag-class = Class.forName(Classname)加载该包类
并创建对象:Object controller = pag-class.newInstance()
获取对该类的某方法:Method md = pag-class.getMethod(method,HttpServletRequest.class, HttpServletResponse.class)
调用方法:md.invoke(controller,request, response)
获取前台字段request.getParameter("name")
method = request.getParameter("action");
注意:action的字段与调用的方法名一致。
小白写点自学笔记,请体谅