HttpSession session = request.getSession()的问题
import java.sql.*; //导入数据库操作的类
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.util.*;
import javax.servlet.http.HttpSession;
public class DBConnAccess { //构造方法,初始化
private Connection conn; //连接对象
private Statement stmt; //语句对象
private ResultSet rs; //结果集对象
private String accessdriver; //保存Access驱动程序字符串
private String accessURL; //保存Access连接字符串
public DBConnAccess(){
//Access驱动程序
accessdriver = "sun.jdbc.odbc.JdbcOdbcDriver";
//连接字符串
accessURL = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
conn = null;
}
public Connection getConnToAccess(String dbpath){
try{
HttpSession session = request.getSession();
Object sPath = session.getAttribute("dbpath");
accessURL = accessURL + dbpath;
Class.forName(accessdriver);
conn = DriverManager.getConnection(accessURL);
}catch(Exception e){
System.out.println("Error");
System.err.println(e.getMessage());
}
return conn;
}
}
在么导入servlet.api.jar包之前 HttpSession session = request.getSession();都错
导入之后request.getSession报错
高手能告诉我原因吗?
------解决方案--------------------extends HttpServlet
------解决方案--------------------很简单啊,仔细看代码.
没导入jar之前,在你的开发环境下没有HttpSession这个类,肯定会爆错了,
加入jar之后request,getSession()报错也很容易明白,你没发现你的代码中不存在request参数吗?
在servlet当中,request参数是在post,get方法中作为方法传输引入的,在你的代码中,明显不存在这个东西。
------解决方案--------------------你是想问如何取得session是吗?但是你给的代码是数据库连接的代码。
我觉得你这地方应该好好在看看,session应该从servlet中获得
Java code
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class TestServlet extends HttpServlet
{
public void doPost(HttpServletRequest req,HttpServletResponse res) throws ServletException,IOException
{
//获得session
HttpSession session = request.getSession();
//获得session中保留的信息
String userId= session.getAttribute("userId").toString();//取出为Object类型
//给session中存储数据
session.setAttribute("name","JACK")
}
}
------解决方案--------------------
extends HttpServlet之后重写public void doGet(HttpServletRequest request, HttpServletResponse response)方法.
------解决方案--------------------
没有看到你的request从那里来的呢
一个对象不能凭空产生的