我刚刚在Ubuntu 14.04 VM上设置了Tomcat 8,我无法http://[hostname]:8080/manager/html从浏览器访问Manager App .点击它后,我收到"403 Access Denied"错误.我正在运行Tomcat作为在配置文件中定义的服务/etc/init.d/tomcat8-dev.该错误消息表明Tomcat设置为最初只能从localhost访问,但由于它是托管VM,因此我无法在其上运行浏览器.
我已在tomcat-users.xml几个人推荐的文件中设置了一个用户.但是,我没有被提示为该用户提供凭据,我在默认页面上找不到任何类型的登录按钮.该文件目前看起来像这样:
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<user username="(redacted)" password="(redacted)"
roles="manager-gui,manager-jmx,manager-status,manager-script"/>
</tomcat-users>
Run Code Online (Sandbox Code Playgroud)
在这里阅读了Tomcat文档页面后,我也尝试在其中添加<Valve />标签context.xml,如下所示:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.0\.0\.1" />
<!--Another valve for my local machine's IP-->
</Context>
Run Code Online (Sandbox Code Playgroud)
但是,一旦我设置privileged="true",当我使用浏览器连接到服务器时,无论后来提供的阀门如何,我都会得到一个空白的白页.
sudo service tomcat8-dev restart每当我做出更改时,我都会重启我的服务.
我根据我在这里和其他网站上发布的帖子尝试过的其他事情:
address="0.0.0.0"到标签server.xml内部<Connector />initctl …我有一个带有多个参数的 JPA/EclipseLink 模型,其值由 PostgreSQL 数据库设置为默认值。具体来说,我有:
id列类型SERIALcreated_at类型的柱TIMESTAMP,默认为now()我的模型看起来像这样:
import javax.persistence.*;
@Entity
@Table(name="entity")
@NamedQuery(name="Entity.findAll", query="SELECT e from Entity e")
public class Entity {
@Id @GeneratedValue(strategy=GenerationType.IDENTITY)
private Integer id;
@Column(name="created_at")
private java.sql.Timestamp createdAt;
// constructor, getters, and setters
}
Run Code Online (Sandbox Code Playgroud)
当我尝试使用persist()in插入一行时javax.persistence.EntityManager,插入失败,因为NULL正在为该created_at列设置一个值。NULL我不想插入,而是不想在该列中插入任何内容并允许 PostgreSQL 将其设置为now(). 本质上,我想使用@GeneratedValueon createdAt,但该注释仅适用于主键,不能用于多个属性。我可以使用另一个注释来实现这一点吗?
我正在尝试保留我的 JPA/EclipseLink 模型之一,location类型的一个属性org.postgresql.geometric.PGpoint未正确插入。
我的模型看起来像这样:
@Entity
@NamedQuery(name="Entity.findAll", query="SELECT * FROM Entity e")
public class Entity {
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column(name="name")
private String name;
@Column(name="location")
private PGpoint location;
@Column(name="date")
private Timestamp date;
@Column(name="user_id")
private Integer user_id;
/* getters and setters */
Run Code Online (Sandbox Code Playgroud)
我收到这个异常:
Internal Exception: org.postgresql.util.PSQLException:
ERROR: column "location" is of type point but expression is of type bytea
Run Code Online (Sandbox Code Playgroud)
我已启用查询日志记录并确定问题似乎是由格式错误的 SQL 引起的。以下所有属性location似乎都被分组到一个bytea数组中。具体来说,JPA 尝试执行如下插入:
INSERT INTO ENTITY (name, location, date, user_id)
VALUES …Run Code Online (Sandbox Code Playgroud) 我正在开发一个EclipseLink项目,其中一个用户可以"关注"另一个用户,这可以在社交媒体网站上完成.我设置了一个User实体(引用一个名为的表users),其中包含一个"关注者"列表(跟随该用户的用户)和另一个"关注"列表(用户正在关注的用户).该关系在一个单独的表中定义,该表followers包含跟随用户的ID(user_id)和以下用户的ID(follower_id)的列.
我的用户模型如下所示:
@Entity
@Table(name = "users")
@NamedQuery(name = "User.findAll", query = "SELECT u FROM USER u")
public class User {
// other attributes
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "follower", joinColumns = @JoinColumn(
name = "user_id", referencedColumnName = "id"),
inverseJoinColumns = @JoinColumn(
name = "follower_id", referencedColumnName = "id"))
private List<User> followers;
@ManyToMany(mappedBy = "followers")
private List<User> following;
// other getters and setters
public List<User> getFollowers() {
return this.followers;
}
public List<User> …Run Code Online (Sandbox Code Playgroud)