通过本地数据源领域的Servlet3登录在Tomcat 7.0.29中工作,但在7.0.54&更高的血量

时间:2014-07-21 19:50:16

标签: tomcat servlets

我已经发布了servlet3.0登录并使用了下面的代码

HttpServletRequest request = (HttpServletRequest) FacesContext
                .getCurrentInstance().getExternalContext().getRequest();
request.login(username, password);

并在 META-INF 文件夹中添加了 context.xml 文件并添加了这些内容

<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/3c">
                <Realm localDataSource="true" debug="99"
                className="org.apache.catalina.realm.JDBCRealm" connectionName="hariom"
                connectionPassword="password" connectionURL="jdbc:mysql://serverip:3306/ ccc" digest="md5" driverName="com.mysql.jdbc.Driver" roleNameCol="umul_role_name"
                userCredCol="umul_password" userNameCol="umul_email_id"
                userRoleTable="um_users_list" userTable="um_users_list" />
</Context>

这在我的本地计算机上工作正常,但是当在生产服务器中部署相同的代码登录时,甚至没有任何异常的tomcat日志文件也没有工作..任何人如何检查登录不起作用的问题是什么?

以下是 pom.xml 文件中的 servlet3 条目

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
</dependency>

修改

当我将项目部署到 apache-tomcat-7.0.29 但不能使用 apache-tomcat-7.0.54

时,相同的Servlet3登录工作正常

EDIT2: -

不适用于 apache-tomcat-8.0.9 以及

1 个答案:

答案 0 :(得分:0)

我会比较你的Tomcats之间的配置文件和jar库:Eclipse中的那个和你遇到问题的那个。

有可能你正在部署的Tomcat只是错过了MySql JDBC库。

但是无论如何,如果您扫描Tomcat的日志文件以查找任何异常(也会导致异常),那么它会更容易。