使用PreparedStatement向数据库插入数据
使用PreparedStatement进行数据保存,主要我用这个对HTML代码保存进数据库 进行操作。
这个是对CLOB类型进行操作。
还有一种方法,是首先插入时使用EMPTY_CLOB() 之后再UPDATE 这个段 使用数据流更新数据。
阅读全文...
使用PreparedStatement进行数据保存,主要我用这个对HTML代码保存进数据库 进行操作。
这个是对CLOB类型进行操作。
还有一种方法,是首先插入时使用EMPTY_CLOB() 之后再UPDATE 这个段 使用数据流更新数据。
阅读全文...
痛苦的一下午。今天把我做的系统进行移植。不过出毛病了。由于不在IDE下。我也不知道出错信息是什么。这时候才发现LOG是多么重要的了。马上补加LOG类。可是到生成文件的地方卡住了。如何才能在网站的根目录LOGS下生成日志呢。求助G大神。在这里总结下(毛病找到了。忘记装ORACLE的DBA驱动了。。汗)
关于路径问题的API
第一 JSP的路径问题
1.1 JSP中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getRequestURI()
文件的绝对路径 :application.getRealPath(request.getRequestURI());
当前web应用的绝对路径 :application.getRealPath("/");
取得请求文件的上层目录:new File(application.getRealPath(request.getRequestURI())).getParent()
1.2 Servlet中获得当前应用的相对路径和绝对路径
根目录所对应的绝对路径:request.getServletPath();
文件的绝对路径 :request.getSession().getServletContext().getRealPath(request.getRequestURI())
当前web应用的绝对路径 :servletConfig.getServletContext().getRealPath("/");
1.3 ServletContext对象获得几种方式:javax.servlet.http.HttpSession.getServletContext()
javax.servlet.jsp.PageContext.getServletContext()
javax.servlet.ServletConfig.getServletContext()
阅读全文...
导出数据两种方式:
一、以OMS的方式(最后失败了。使用的命令行方式):
1、 以OMS的方式登录数据库。默认用户名为sysman,密码为oem_temp,如果没有改密码登录成功后会弹会一个更改口令的对话框。输入你的新密码和确认密码,然后确定。
注:如果忘记了新密码,也可以恢复到默认密码状态下:在%home_path%\oracle90\sysman\admin目录中有一个vduResetSysman.sql文件,执行,就能恢复到默认密码。
阅读全文...
第一种形式:
该形式是设置Bean 属性的快捷方式.在Bean 中属性的名字,类型必须和request对象中的参数名称相匹配。由于表单中传过来的数据类型都是String 类型的,Jsp内在机制会把这些参数转化成Bean属性对应的类型。
property = "*"表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。
第二种形式:
使用request对象中的一个参数值来指定Bean中的一个属性值。在这个语法中,property指定Bean 的属性名,而且Bean 属性和request参数的名字应相同。也就是说,如果在Bean 中有setUserName(String userName)方法,那么,propertyName的值就是"userName".这种形式灵活性较强,可以有选择的对Bean中的属性赋值
第三种形式:
value用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、boolean、Boolean、byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如“true”)通过Boolean.valueOf转换,int和Integer类型的属性值(比如“42”)通过Integer.valueOf转换。
第四种形式:
param指定用哪个请求参数作为Bean属性的值。Bean 属性和request参数的名字可以不同。如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可以让Bean自己提供默认属性值,只有当请求参数明确指定了新值时才修改默认属性值。
例如,下面的代码片断表示:如果存在numItems请求参数的话,把numberOfItems属性的值设置为请求参数numItems的值;否则什么也不做。
下面是一个简单的例子:
//sampleBean.java
package MyJavaBeanPackage;
public class SampleBean2 {
private String id;
private String age;
private String name;
private String sex;
private String addr;
public SampleBean2() {
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public void setId(String id) {
this.id = id;
}
public void setAge(String age) {
this.age = age;
}
public String getId() {
return id;
}
public String getAge() {
return age;
}
public String getAddr() {
return addr;
}
public void setAddr(String addr) {
this.addr = addr;
}
}
//SampleBean.html
<html>
<head>
<title>使用<jsp:getProperty>和<jsp:setProperty>标记</title>
</head>
<body>
<form name="form1" action="Sample2.jsp" method="post">
<p align="center">
编号
<input type="text" name="id">
</p>
<p align="center">
姓名
<input type="text" name="name">
</p>
<p align="center">
性别
<select name="TheSex" id="sex">
<option value="男" selected>
男
</option>
<option value="女">
女
</option>
</select>
</p>
<p align="center">
年龄
<input type="text" name="TheAge">
</p>
<p align="center">
<input type="submit" value="提交">
<input type="reset" value="重置">
</p>
</form>
</body>
</html>
//SampleBean.jsp
<%@ page language="java" contentType="text/html;charset = GBK"%>
<jsp:useBean id="sampleBean2" class="MyJavaBeanPackage.SampleBean2" />
<html>
<head>
<title>在JavaBean中存放数据</title>
</head>
<body>
<%--方法一
<jsp:setProperty name = "sampleBean2" property = "*" />
--%>
<%-- 方法二 --%>
<jsp:setProperty name="sampleBean2" property="id" />
<jsp:setProperty name="sampleBean2" property="name" />
<%--方法三 --%>
<jsp:setProperty name="sampleBean2" property="addr" value="洛阳师范学院" />
<%-- 方法四 bean属性的名字可以与request参数不同--%>
<jsp:setProperty name="sampleBean2" property="sex" param="TheSex" />
<jsp:setProperty name="sampleBean2" property="age" param="TheAge" />
<center>
编号:<jsp:getProperty name="sampleBean2" property="id" /><br>
姓名:<jsp:getProperty name="sampleBean2" property="name" /><br>
性别:<jsp:getProperty name="sampleBean2" property="sex" /><br>
年龄:<jsp:getProperty name="sampleBean2" property="age" /><br>
住址:<jsp:getProperty name="sampleBean2" property="addr" /><br>
</center>
</body>
</html>
Pattern类:
例子:
Pattern pattern = Pattern.compile("[,\\s]+");
String[] result = pattern.split("one two three,four,five, six");
for(int i = 0; i
输出结果是:
one
two
three
four
five
six
Pattern类的静态方法compile用来编译正则表达式,在此[,\\s]+表示若干个","或者若干个空格匹配
split方法使用正则匹配将字符串切割成各子串并且返回
Matcher类:
注意,Matcher的获得是通过Pattern.matcher(CharSequence charSequence);输入必须是实现了CharSequence接口的类
常用方法:
matches()判断整个输入串是否匹配,整个匹配则返回true
例如下面会输出true
String str1 = "hello";
Pattern pattern1 = Pattern.compile("hello");
Matcher matcher1 = pattern1.matcher(str1);
System.out.println(matcher1.matches());
lookingAt()从头开始寻找,找到匹配则返回true
例如下面会输出true
String str2 = "hello yangfan!";
Pattern pattern2 = Pattern.compile("hello");
Matcher matcher2 = pattern2.matcher(str2);
System.out.println(matcher2.lookingAt());
find()扫描输入串,寻找下一个匹配子串,存在则返回true
例如下面将会将所有no替换成yes
Pattern pattern = Pattern.compile("no");
Matcher matcher = pattern.matcher("Does jianyue love yangfan? no;" +
"Does jianyue love yangfan? no;Does jianyue love yangfan? no;");
StringBuffer sb = new StringBuffer();
boolean find = matcher.find();
while(find){
matcher.appendReplacement(sb, "yes");
find = matcher.find();
}
matcher.appendTail(sb);
System.out.println(sb.toString());
最新评论