我正在尝试创建与我的数据库的连接,当我使用main方法测试我的代码时,它可以无缝地工作.但是,当尝试通过Tomcat 7访问它时,它会失败并显示错误:
No suitable driver found for jdbc:mysql://localhost/dbname.
Run Code Online (Sandbox Code Playgroud)
我正在使用汇集.我在WEB-INF/lib和.classpath中放入了mysql连接器(5.1.15),dbcp(1.4)和pool(1.4.5)库.我正在使用Eclipse IDE.我的数据库驱动程序代码是:
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.tomcat.dbcp.dbcp.ConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.DriverManagerConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.PoolableConnectionFactory;
import org.apache.tomcat.dbcp.dbcp.PoolingDriver;
import org.apache.tomcat.dbcp.pool.impl.GenericObjectPool;
public class DatabaseConnector {
public static String DB_URI = "jdbc:mysql://localhost/dbname";
public static String DB_USER = "test";
public static String DB_PASS = "password";
// Singleton instance
protected static DatabaseConnector _instance;
protected String _uri;
protected String _username;
protected String _password;
/**
* Singleton, so no public constructor
*/
protected DatabaseConnector(String uri, String username, String password) { …Run Code Online (Sandbox Code Playgroud) 因此,当我请求此servlet时,我正在尝试使用servlet将Java对象添加到用户的会话中.但是在servlet重定向到下一页并尝试检索对象之后,我得到了一个null对象.
以下是我将对象添加到HttpSession(在servlet中)的操作:
request.setAttribute("object", obj);
Run Code Online (Sandbox Code Playgroud)
然后我尝试通过(在JSP中)检索它:
Object obj = request.getAttribute("object");
Run Code Online (Sandbox Code Playgroud)
那么我如何让obj不为null?
更新:我也没试过这个:
HttpSession session = request.getSession();
session.setAttribute("object", obj);
Run Code Online (Sandbox Code Playgroud)
在JSP中有以下内容:
Object obj = request.getSession().getAttribute("object");
Run Code Online (Sandbox Code Playgroud)
两种方式仍然返回null.
所以我正在编写一个加密和解密文本文件的程序,但是当我使用除"Blowfish"之外的加密(例如"Blowfish/CBC/PKCS5Padding")时,我似乎总是得到这个错误.我得到的是:
Exception in thread "main" java.security.NoSuchAlgorithmException: Blowfish/CBC/PKCS5Padding KeyGenerator not available
at javax.crypto.KeyGenerator.<init>(DashoA13*..)
at javax.crypto.KeyGenerator.getInstance(DashoA13*..)
at Encryptor.<init>(Encryptor.java:87)
at Encryptor.main(Encryptor.java:30)
Run Code Online (Sandbox Code Playgroud)
我的一部分代码:
import java.security.MessageDigest;
import java.security.SecureRandom;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
public class Encryptor2 {
private IvParameterSpec ivSpec;
private SecretKeySpec keySpec;
private Cipher cipher;
public static void main(String[] args) throws Exception {
Encryptor2 e = new Encryptor2(
"averylongtext!@$@#$#@$#*&(*&}{23432432432dsfsdf");
String enc = e.encrypt("john doe");
String dec = e.decrypt(enc);
}
public Encryptor2(String pass) throws Exception {
// setup AES cipher in CBC mode with …Run Code Online (Sandbox Code Playgroud) 所以我有一些源代码,我需要把它放在.deb二进制文件中,这样我就可以在我的服务器上轻松部署了.我似乎无法找到易于使用的工具,这将使我能够这样做.源代码在Perl中.我确实知道它的所有依赖关系.
我的问题是你知道/使用这样的工具吗?你推荐哪个初学者?