路径问题,jquery小常识,ajax传值(表单),常见数据库使用
来源:互联网 发布:java中array的用法 编辑:程序博客网 时间:2024/06/10 15:03
这两天做项目遇到的一些问题的总结:
一,各种路径问题
JSP,Servlet,文件,web,相对,绝对。。。。醉了
jsp中获得文件路径
1、根目录所对应的绝对路径:request.getRequestURI();
2、文件的绝对路径:application.getRealPath(request.getRequestURI())
3、当前web应用的绝对路径:application.getRealPath(“/”)
4、取得请求文件的上层目录:
newFile(application.getRealPath(request.getRequestURI())).getParent()
servlet中获得文件路径
1、根目录所对应的绝对路径:request.getServletPath()
2、文件的绝对路径:
request.getSession().getServletContext().getRealPath(request.getRequestURI())
3、当前web应用的绝对路径:servletConfig.getServletContext().getRealPath(“/”)
注:ServletContext对象获得几种方式:
javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
java中获得文件路径
1、Thread.currentThread().getContextClassLoader().getResource(“”).toURI().getPath()
2、
ClassLoader 提供了两个方法用于从装载的类路径中取得资源:
public URL getResource (String name);
public InputStream getResourceAsStream (String name);
这里name是资源的类路径,它是相对与“/”根路径下的位置。getResource得到的是一个URL对象来定位资源,而getResourceAsStream取得该资源输入流的引用保证程序可以从正确的位置抽取数据。
但是真正使用的不是ClassLoader的这两个方法,而是Class的 getResource和getResourceAsStream方法,因为Class对象可以从你的类得到(如YourClass.class或 YourClass.getClass()),而ClassLoader则需要再调用一次YourClass.getClassLoader()方法,不过根据JDK文档的说法,Class对象的这两个方法其实是“委托”(delegate)给装载它的ClassLoader来做的,所以只需要使用 Class对象的这两个方法就可以了。
下面是一些得到classpath和当前类的绝对路径的一些方法。你可能需要使用其中的一些方法来得到你需要的资源的绝对路径。
1.this.getClass().getResource(”“)
得到的是当前类class文件的URI目录。不包括自己!
如:file:/D:/workspace/jbpmtest3/bin/com/test/
2.this.getClass().getResource(”/”)
得到的是当前的classpath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/
3.this.getClass() .getClassLoader().getResource(”“)
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/
4.ClassLoader.getSystemResource(”“)
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/
5.Thread.currentThread().getContextClassLoader ().getResource(”“)
得到的也是当前ClassPath的绝对URI路径 。
如:file:/D:/workspace/jbpmtest3/bin/
6.ServletActionContext.getServletContext().getRealPath(“/”)
Web应用程序 中,得到Web应用程序的根目录的绝对路径。这样,我们只需要提供相对于Web应用程序根目录的路径,就可以构建出定位资源的绝对路径。
如:file:/D:/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/WebProject
总之,我自己使用会选择如下:
path 不以’/’开头时默认是从此类所在的包下取资源,以’/’开头则是从ClassPath根下获取。
当前类的加载路径使用相对路径来获取资源地址
MyClass.class.getResource(FILE_NAME).getPath()
使用绝对运行时路径
MyClass.class.getResource(File.separator + FILE_NAME).getPath();
二.表单使用jquery+ajax提交
要想使用form的submit还要下载Jquery.form插件
我用的是普通的click 方法
<input id="submit" type="button" value="Submit" onclick="checkAndSub();" >
function checkAndSub(){ var flag=0; if($("#driver").val()==""){ // alert("请输入driver!"); $('#span_driver').text("请输入driver!"); flag=1; } if($("#url").val()==""){ // alert("请输入url!"); $('#span_url').text("请输入url!"); flag=1; } if($("#user").val()==""){ // alert("请输入user!"); $('#span_user').text("请输入user!"); flag=1; } if($.trim($("#password").val())==""){ //alert("请输入password!"); $('#span_password').text("请输入password!"); flag=1; } if($.trim($("#tableName").val())==""){ //alert("请输入password!"); $('#span_tableName').text("请输入tableName!"); flag=1; } if(flag==1){ //alert("没提交"); }else{ var param ="listId="+listId+"&"+$('#DBForm').serialize()+"&"+"classification="+$("select option:selected").text(); alert(param); $("#Composition").load("fillReport.do","listId="+listId+"&"+$('#DBForm').serialize()+"&"+"classification="+$("select option:selected").text()); }
使用Form提交数据 <script type ="text/javascript" src ="../js/jquery.js"></script> //必须要引用
<script type ="text/javascript" src ="../js/jquery.form.js"></script> //必须要引用
三JQuery
(1)jQuery (necessary for Bootstrap’s JavaScript plugins
(2)jquery.js和jquery.min.js的区别介绍
query2.js里的代码是没有进行处理的原代码,适合于人们阅读与研究.
jquery.min.js里的代码进行过特殊的处理,如变量的名称基本都写成一个字母,而且格式缩进都被删除了.
所以文件容量比较小(min),一般在网页中调用这个文件
(3)级联菜单,select ajax传值重要部分
$("#privince").change(function(){ $.ajax({type:"post",url:"select.do",dataType:"json", data:{"privinceId" : $("#privince option:selected").val()}, success:function(data){ $("#city").html(""); $.each(data,function(i,item){ $("#city").append("<option value="+item.id+">"+item.name+"</option>"); }); } }); });
四.数据库相关复习
JDBC:
Class.forName(DRIVER); //注册驱动
//获取连接字符串
Connection conn = DriverManager.getConnection(URL,NAME,PASS);
Statement s= conn.createStatement();
String query=”create table gubiao(date datatime,open float,high float,low float,close float,amount integer,money float)”;//创建数据库属性
s.executeUpdate(query);
s.close();
conn.close();
mysql命令行查看表结构,字段等信息
desc 表名;
show columns from 表名;
describe 表名;
show create table 表名;
- 路径问题,jquery小常识,ajax传值(表单),常见数据库使用
- jquery Ajax提交表单(使用jquery Ajax上传附件)
- jquery Ajax提交表单(使用jquery Ajax上传附件)
- jquery Ajax提交表单(使用jquery Ajax上传附件)
- jquery使用ajax提交表单
- 使用jQuery ajax提交表单
- Jquery - ajax url路径问题
- 使用jQuery的ajax时url的相对路径问题
- 关于Jquery Ajax小问题
- FF上使用jquery ajax时出现一个小问题
- Oracle数据库常见小问题
- sql数据库小常识
- 使用jquery中的ajax方法验证表单
- 使用 jQuery Form 插件 Ajax 提交表单
- jQuery中使用$.ajax提交表单
- jquery form 表单ajax提交使用
- JQuery ajax()使用提交表单数据
- jQuery中使用$.ajax提交表单
- HDU-5122-K.Bro Sorting
- Binder进程间通信机制的Service Manager代理对象获取过程
- 获取datagridview某列的列名
- android SharedPreferences数据的短时间存储
- 洛谷1012 拼数
- 路径问题,jquery小常识,ajax传值(表单),常见数据库使用
- 高精度加法
- 例题5.20 秦始皇修路 LA5713
- yum用法第一篇-简介及常见用法使用总结
- IOS开发—本地推送
- 程序的机器级表示3.4
- TypeScript与Haxe:两种截然不同的JS转译工具横向对比
- Mac SecureCRT 7.2的破解方案
- 开关电源产生浪涌电流的原因