学生信息管理系统JavaWeb
这星期做这个Demo熟悉Servlet遇到挺多坑的,这也是我最近学完servlet第一次做的一个完整的Servlet项目,有点简陋功能不完善,不过也是实现了前后台交互,有时候一个坑填了2,3个小时。
还是来总结一下吧。
Bootstrap引用:
CDN加速快。不过,最好不要用英文版的CDN,不翻墙会崩
<link rel="stylesheet" href="https://cdn.bootcss.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://cdn.bootcss.com/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.bootcss.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
method:
如果有中文参数传递的话,用Post
如果是英文的话 那就Get
action:
Student是项目名,直接 项目名+Servlet
或者直接 DeleteServlet
即可 不用包名或者src
<form role="form" action="/Student/DeleteServlet"
method="Get">
表单元素属性
id是标识符,name是传递到后台交互用,placeholder是水印
name="id" placeholder="学生 学号"
点击按钮后,frameset的
<frame src="right.html" name="showframe">该浏览窗口改为
指定页面
onclick="top.showframe.location.href=
'AddOrUpdateStudent.html?name=Add'"
两个窗体同时转入到Servlet ,那如何判断哪个窗体 ,那就是用页面传值:如何实现页面之间传递参数:
我是用url:
如上位置:
网址后面加后内容 :?name=Add'
接受参数的页面:
<script type="text/javascript">
window.onload = function () {
var name=UrlParm.parm("name");
document.getElementById("field_id").value=name;
};
</script>
再引用外部js:
<script type="text/javascript" src="js/ready.js"></script>
js内容:
UrlParm = function() { // url参数
var data, index;
(function init() {
data = [];
index = {};
var u = window.location.search.substr(1);
if (u != '') {
var parms = decodeURIComponent(u).split('&');
for (var i = 0, len = parms.length; i < len; i++) {
if (parms[i] != '') {
var p = parms[i].split("=");
if (p.length == 1 || (p.length == 2 && p[1] == '')) {// p | p=
data.push(['']);
index[p[0]] = data.length - 1;
} else if (typeof(p[0]) == 'undefined' || p[0] == '') { // =c | =
data[0] = [p[1]];
} else if (typeof(index[p[0]]) == 'undefined') { // c=aaa
data.push([p[1]]);
index[p[0]] = data.length - 1;
} else {// c=aaa
data[index[p[0]]].push(p[1]);
}
}
}
}
})();
return {
// 获得参数,类似request.getParameter()
parm : function(o) { // o: 参数名或者参数次序
try {
return (typeof(o) == 'number' ? data[o][0] : data[index[o]][0]);
} catch (e) {
}
},
//获得参数组, 类似request.getParameterValues()
parmValues : function(o) { // o: 参数名或者参数次序
try {
return (typeof(o) == 'number' ? data[o] : data[index[o]]);
} catch (e) {}
},
//是否含有parmName参数
hasParm : function(parmName) {
return typeof(parmName) == 'string' ? typeof(index[parmName]) != 'undefined' : false;
},
// 获得参数Map ,类似request.getParameterMap()
parmMap : function() {
var map = {};
try {
for (var p in index) { map[p] = data[index[p]]; }
} catch (e) {}
return map;
}
}
}();
可以通过表单来传递参数给Servlet,表单有元素可以接收到传递过来的参数: