我试图用Spring jdbc和Jersey从mysql数据库中检索数据,我的代码是
Dao是getUsers()。如果我想获得所有用户,它工作良好,我可以在一个jsp上显示他们。
public List<User> getUsers() throws Exception {
logger.info("Query DB for users");
return jdbc.query("Select id,name,lname,username,"
+ "password,postcode,authority,email,"
+ "address,dateofbirth,city,country,"
+ "gender "
+ " from Users", new RowMapper<User>() {
public User mapRow(ResultSet rs, int rowNum) throws SQLException {
logger.debug(" query the user");
User user = new User();
user.setId(rs.getInt("id"));
user.setName(rs.getString("name"));
user.setLname(rs.getString("lname"));
user.setUsername(rs.getString("username"));
user.setPassword(rs.getString("password"));
user.setPostcode(rs.getString("postcode"));
user.setAuthority(rs.getString("authority"));
user.setEmail(rs.getString("email"));
user.setAddress(rs.getString("address"));
user.setDateofbirth(rs.getString("dateofbirth"));
user.setCity(rs.getString("city"));
user.setCountry(rs.getString("country"));
user.setGender(rs.getString("gender"));
return user;
}
});
}
下面是资源类
@Path("/user")
public class UserResource {
UserServiceWS userServicews = new UserServiceWS();
@GET
@Produces(MediaType.APPLICATION_XML)
public List<User> getUserData() throws Exception {
return userServicews.getUsers();
}
}
public class UserServiceWS {
@Autowired
UserDao userDao ;
public UserServiceWS() {
try {
getUsers();
} catch (Exception e) {
e.printStackTrace();
}
}
public List<User> getUsers() throws Exception {
return new ArrayList<User>(userDao.getUsers());
}
}
类型异常报告
消息java.lang.NullPointerException
说明服务器遇到内部错误,导致它无法完成此请求。
注意,Apache Tomcat/7.0.68日志中提供了根本原因的完整堆栈跟踪。Apache Tomcat/7.0.68
用户类模型
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;
@XmlRootElement
public class User {
private int id;
@NotEmpty
@Size(max = 250)
private String username;
@NotEmpty
@Size(max = 250)
private String password;
...........
如果我创建一个地图,在那里添加数据并检索,我没有问题,web服务可以正常工作,没有问题。?但是如果我查询数据库,那么我有nullpointer,我缺少什么?谢谢
@Autowired
private UserServiceWS userServicews;
并对
@Component
public class UserServiceWS {
@Autowired UserDao userDao ;
然后我得到
HTTP状态500-MultiException有3个异常。它们是:
ServletException:一个MultiException有3个异常。他们是:1。org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[com.org.projectClient.wsService.userServiceWS]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}2。java.lang.IllegalArgumentException:尝试解析com.org.projectclient.resource.UserResource的依赖项时发现错误3。java.lang.IllegalStateException:无法在com.org.projectclient.resource.userResource上执行操作:resolve
org.glassfish.jersey.servlet.webcomponent.service(webcomponent.java:397)org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:381)org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:344)org.glassfish.jersey.servlet.servletcontainer.service(servletcontainer.java:221)
根本原因
MultiException有3个异常。他们是:1。org.springframework.beans.factory.noSuchBeanDefinitionException:未找到依赖项得[com.org.projectClient.wsService.userServiceWS]类型得合格bean:需要至少一个符合此依赖项自动候选条件得bean.依赖项注释:{@org.SpringFramework.Beans.Factory.Annotation.AutoWired(required=true)}2。java.lang.IllegalArgumentException:尝试解析com.org.projectclient.resource.UserResource的依赖项时发现错误3。java.lang.IllegalStateException:无法在com.org.projectclient.resource.userResource上执行操作:resolve
根本原因
<!-- DispatcherServlet Context: defines this servlet's request-processing
infrastructure -->
<!-- Enables the Spring MVC @Controller programming model -->
<annotation-driven />
<!-- Handles HTTP GET requests for /resources/** by efficiently serving
up static resources in the ${webappRoot}/resources directory -->
<resources mapping="/resources/**" location="/resources/" />
<!-- Resolves views selected for rendering by @Controllers to .jsp resources
in the /WEB-INF/views directory -->
<beans:bean
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<beans:property name="prefix" value="/WEB-INF/views/" />
<beans:property name="suffix" value=".jsp" />
</beans:bean>
<context:component-scan base-package="com.org.projectClient" />
<jee:jndi-lookup jndi-name="jdbc/testingdbs" id="dataSource"
expected-type="javax.sql.DataSource">
</jee:jndi-lookup>
<!-- <beans:bean id="messages" class="org.springframework.context.support.ResourceBundleMessageSource">
<beans:property name="basename" value="com.spring.project.demo.messages.messages.properties"
/> </beans:bean> -->
你怎么连接到DB?我想这是你的问题。
您必须修复数据库连接。
那里有问题,您无法检索您的数据。您将数据提供给jsp而没有数据提供给您的服务,这是不正常的。
最坏的情况是创建一个简单的打开/关闭数据库连接,包括密码、用户名、驱动程序详细信息等。
只是为了测试你的联系。
在创建之后,尝试一下,如果这样做有效,那么您的服务就没有DB连接了。
看这里的道曼纳格道曼纳格
有关简单的连接,请参见:简单数据库连接
或者在这里
我知道,如果我不穿运动衫,这是一件很容易的事,我会用这样的东西: 我也意识到我可以做到这一点,并完成它。 但是,如果我真的想转储通过POST提交的表单的所有内容,该怎么办? 问题是,我使用Jersey作为JAX-RS的实现,并使用上面的代码输出以下内容: 我猜想我的数据包含在这里:不过我不确定jaxrsquestattributes。 我知道我错过了一些东西。这应该不难吧? 更新 正如索蒂里奥斯所
我正在两个标记之间画一条路线,我想保存那条路线。为此,我将包含lat和lng的ArrayList保存在Firebase数据库中。但我在取回航路点时遇到了问题。我是这样插入的: 在检索数据时,我尝试执行以下操作:
我想从数据库中检索名称。但我总是收到错误: 数据库Java语言 它不断返回错误 android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为1,字符串名称=helper.getProductNameT(cur); 有人知道我的编码哪里出错了吗?
问题内容: 嗨,我已经成功地将jTable链接到JDBC数据库。但是,我在检索它们时遇到了麻烦。我希望在重新启动程序时出现保存的数据,但是它不起作用。 这是我保存文档的代码! 有什么方法可以检索JDBC数据库中的数据并通过Jtable显示它?我很抱歉提出这样一个简单的问题,但是我是Java新手,我非常需要帮助! 非常感谢! 用于加载数据的代码… 顺便说一句,我的jtable是一个3列的表,其中包含
我正在尝试编写一个Jersey客户端应用程序,它可以将多部分表单数据发布到Restful Jersey服务。我需要发布一个包含数据的CSV文件和一个包含元数据的JSON文件。我使用的是Jersey客户端1.18.3。这是我的密码(为了公司保密,有些名字已经改了)。。。 现在我在最后一行得到一个编译错误,说它不能从void转换到ClientResponse。 我之前从这篇文章中得到了一些关于Rest
关于我的上一个问题,我想从创建的sqlite数据库中检索ID,将其作为Intent putExtra()中的数据传递,以便将其用作PendingContent的ID。getActivity()。目前,我正在使用queryNumEntries为从我的DatabaseManager中的以下代码添加到数据库中的每个提醒设置id。类别: 并在AddActivity中调用它。班 在创建条目时,除了尝试此操作