完美的javaweb系统除了坚挺的后台还要灵活的javascript--验证与确认
来源:互联网 发布:java interrupt 编辑:程序博客网 时间:2024/06/09 20:06
UIM“项目"是我迄今为止做的比较完整的javaweb项目,后台采用底层jsp+servlet,包括增删改查,登录,过滤,监听;前端的验证确认,checkbox全选反选,分页较为完整,提取知识点以供今后工作学习使用。
一、过滤器实现登陆拦截
List<String> list=new ArrayList<String>(); //不过滤的内容public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {HttpServletRequest req=(HttpServletRequest) request;String url=req.getServletPath();if(list.contains(url)){chain.doFilter(request, response);}else{ cm_operator cmo=(cm_operator)req.getServletContext().getAttribute("co"); //从context获取“既存”的cmo对象if(cmo!=null){chain.doFilter(request, response);}else{HttpServletResponse res=(HttpServletResponse) response;res.sendRedirect("index.jsp");}}}/** * @see Filter#init(FilterConfig) */public void init(FilterConfig fConfig) throws ServletException {// TODO Auto-generated method stublist.add("/index.jsp");list.add("/Login.do");list.add("/images/index_04.gif");}xml文件的内容,拦截.jsp和.do,供参考
<filter> <display-name>loginFilter</display-name> <filter-name>loginFilter</filter-name> <filter-class>com.whp.filter.loginFilter</filter-class> </filter> <filter-mapping> <filter-name>loginFilter</filter-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.do</url-pattern> </filter-mapping>
二、监听器实现访问统计
List<User> list=new ArrayList<User>();int count=0; public void attributeAdded(HttpSessionBindingEvent event) { //在attribute add的时候触发 // TODO Auto-generated method stub count++; event.getSession().getServletContext().setAttribute("count", count); //设置count,存储count String name=event.getName(); //调用event.getName();方法获得attribute的name if(name.equals("user")){ list.add((User)event.getValue()); event.getSession().getServletContext().setAttribute("list", list); } }/** * @see HttpSessionAttributeListener#attributeRemoved(HttpSessionBindingEvent) */ public void attributeRemoved(HttpSessionBindingEvent event) { count--; System.out.println("Attribute已销毁"+event.getSession()); System.out.println("在线人数"+count); list=(List<User>)event.getSession().getAttribute("list"); event.getSession().getServletContext().setAttribute("list", list); // TODO Auto-generated method stub }三、分页
1.分页sql
select * from w_User limit a,b;a----从第几条记录开始;
b----查多少个
2.pageInfo类
public class pageInfo {int currentPage=1;//当前页号int recordCount;//记录总数public int pageSize=5;//每页记录数String url;List <?>list;//所有记录..................3.js---setPage()
function page_setPage(currentPage){ location.href="${page.url }"+"?currentPage="+currentPage;}4.调用setPage方法,实现翻页
四、register页面的验证
var un=document.getElementById("un"); var f1=document.getElementById("f1"); //........ //........ /** *普通checkInput */ function checkUn(){ if(un.value==""){ f1.innerHTML="用户名不能为空"; return false; }else{ f1.innerHTML=""; return true; } }/** *checkRepeatPwd */function checkPwd2(){ if(pwd.value!=pwd2.value){ f3.innerHTML="密码不一致!"; return false; }else{ f3.innerHTML=""; return true; } }/** *checkRadio */function checkSex(){ var flag=0; for(var i=0;i<sex.length;i++){ if(sex[i].checked){ flag++; } } if(flag!=1){ f4.innerHTML="性别不能为空!"; return false; }else{ f4.innerHTML=""; return true; } }/** *check正则表达式 */function checkEmail(){ var reg=/\w{2,}@\w{2,}\.(com|cn|net)/; if(!reg.test(email.value)){ f6.innerHTML="邮箱格式不符"; return false; }else{ f6.innerHTML=""; return true; } } /**
*切入方法
*/
function index(){ var Rabbit=new Array(); Rabbit[0]=checkEmail(); //....
var result=0; for(var i=0;i<6;i++){ if(Rabbit[i]){ result++; } } if(result==6){ var form= document.getElementById("form1"); form.method="post"; form.action="register.do"; form.submit(); }else{ alert("请根据要求填写"); } }注:根据这个小例子,我得出结论:1表单.验证最好用 onkeyup();
2.select无需验证;
五、删除确认
var del=document.getElementById("delete"); //删除超链接 function deleteUser(id){ var flag=confirm("真的要删除吗"); if(flag){ location.href="delete.do?id="+id; } }六、批量删除:用form+deleteAll.do,表单提交
感谢您的阅读,希望我找到好工作。
阅读全文
0 0
- 完美的javaweb系统除了坚挺的后台还要灵活的javascript--验证与确认
- 大型机系统依然坚挺的七大理由
- 验证(Verification)与确认(Validation)的区别
- javascript “||”、“&&”的灵活运用
- javascript “||”、“&&”的灵活运用
- javascript “||”、“&&”的灵活运用
- javascript “||”、“&&”的灵活运用
- javascript “||”、“&&”的灵活运用
- 灵活的JavaScript
- 灵活多变的Javascript
- javascript “||”、“&&”的灵活运用
- 灵活的语言---JavaScript
- 灵活的JavaScript
- 灵活的语言-JavaScript
- 项目经理的精神准备第二 坚挺
- (翻译)需求的验证&确认
- 验证(Verification)与确认(Validation)的区别
- 验证(Verification)与确认(Validation)的区别
- graycomatrix 计算(图像)灰度共生矩阵(CLCM)——matlab相关函数说明,很详细
- Web开发技术-Ajax
- pwn 题GDB调试技巧和exp模板
- android制作jar包并引用
- 旅行者
- 完美的javaweb系统除了坚挺的后台还要灵活的javascript--验证与确认
- SCI、EI、ISTP收录检索技巧及核心期刊投稿导引
- git push 出错的两种情况
- 字符串KMP匹配算法详解
- MySQL游标
- js结点(dom)
- 【九度OJ】1190:大整数排序
- NodeJS dns模块
- 深入浅出java中的字节流与字符流