小编sfr*_*frj的帖子

无法将应用程序连接到数据库

我使用Eclipses数据源资源管理器将我的Web应用程序连接到数据库时遇到问题.

这就是我做的:

在此输入图像描述

也许我确实配置了错误的驱动程序.这就是我如何从eclipse Helios配置驱动程序定义.Window-> Preferences-> DataManagement-> Conectivity-> Driver Definitions:

1

在此输入图像描述

2

在此输入图像描述

3

在此输入图像描述

4

在此输入图像描述

我能够启动应用程序服务器,甚至可以通过浏览器访问应用程序.但我无法与数据库进行交互.这就是webapp的配置文件的样子:

persistence.xml中

<?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="jdbc/GroupBuySystem">
<class>entities.Administ</class>
<class>entities.Buyer</class>
<class>entities.Comment</class>
<class>entities.Log</class>
<class>entities.Offer</class>
<class>entities.Seller</class>
</persistence-unit>
    </persistence>
Run Code Online (Sandbox Code Playgroud)

太阳resources.xml中

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//Sun Microsystems, Inc.//DTD Application Server 9.0  Resource Definitions //EN" "http://www.sun.com/software/appserver/dtds/sun-resources_1_3.dtd">
<resources>
<jdbc-resource enabled="true" jndi-name="jdbc/myDatasource" object-type="user" pool-name="Derby_groupbuydb_userPool"/>
<jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.apache.derby.jdbc.ClientDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="Derby_groupbuydb_userPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" …
Run Code Online (Sandbox Code Playgroud)

java eclipse jpa jdbc derby

7
推荐指数
1
解决办法
1452
查看次数

sbt命令抛出空指针异常

我是scala和sbt的新手,我想运行sbt命令但是我得到一些Nullpointer异常,不知道为什么.

我在系统中安装了scala:

scala -version Scala代码运行器版本2.11.8 - 版权所有2002-2016,LAMP/EPFL

此外,如果我尝试检查sbt版本工作正常:

sbt --version sbt launcher version 0.13.5

但是当我运行sbt时,我得到一个例外:

  info] Loading project definition from /home/workspace/myproject
    java.lang.NullPointerException
        at java.util.regex.Matcher.getTextLength(java.base@9-internal/Matcher.java:1747)
        at java.util.regex.Matcher.reset(java.base@9-internal/Matcher.java:402)
        at java.util.regex.Matcher.<init>(java.base@9-internal/Matcher.java:244)
        at java.util.regex.Pattern.matcher(java.base@9-internal/Pattern.java:1108)
        at java.util.regex.Pattern.split(java.base@9-internal/Pattern.java:1221)
        at java.util.regex.Pattern.split(java.base@9-internal/Pattern.java:1288)
        at sbt.IO$.pathSplit(IO.scala:744)
        at sbt.IO$.parseClasspath(IO.scala:859)
        at sbt.compiler.CompilerArguments.extClasspath(CompilerArguments.scala:62)
        at sbt.compiler.MixedAnalyzingCompiler$.withBootclasspath(MixedAnalyzingCompiler.scala:189)
        at sbt.compiler.MixedAnalyzingCompiler$.searchClasspathAndLookup(MixedAnalyzingCompiler.scala:167)
        at sbt.compiler.MixedAnalyzingCompiler$.apply(MixedAnalyzingCompiler.scala:177)
        at sbt.compiler.IC$.incrementalCompile(IncrementalCompiler.scala:138)
        at sbt.Compiler$.compile(Compiler.scala:128)
        at sbt.Compiler$.compile(Compiler.scala:114)
        at sbt.Defaults$.sbt$Defaults$$compileIncrementalTaskImpl(Defaults.scala:814)
        at sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:805)
        at sbt.Defaults$$anonfun$compileIncrementalTask$1.apply(Defaults.scala:803)
        at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47)
        at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40)
        at sbt.std.Transform$$anon$4.work(System.scala:63)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226)
        at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17)
        at sbt.Execute.work(Execute.scala:235)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226)
        at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159)
        at sbt.CompletionService$$anon$2.call(CompletionService.scala:28) …
Run Code Online (Sandbox Code Playgroud)

scala sbt

7
推荐指数
1
解决办法
1288
查看次数

托管bean问题中的用户输入验证(JSF 2.0)

当我尝试在托管bean中验证来自我的JSF的用户输入时,我遇到了一些问题.我在控制台中收到了验证消息,但我没有在页面中看到它.我不明白问题出在哪里.

这是控制台输出:

信息:内部验证方法!! 信息:没有比赛!信息:实例化org.hibernate.validator.engine.resolver.JPATraversableResolver的实例.信息:警告:FacesMessage已入队,但可能尚未显示.的SourceID = bRegForm:名称[严重性=(INFO 0),摘要=(您的名字不能包含特殊字符),细节=(您的名字不能包含特殊字符)]

这就是我制作JSF输入组件的方式:

<h:inputText id="name" value="#{registrationController.name}" validator="#{registrationController.validateName}" required="true">
        <h:message for="name"/>
    </h:inputText>
Run Code Online (Sandbox Code Playgroud)

这就是我如何创建验证方法:

@ManagedBean
@RequestScoped
public class RegistrationController {
...
public void validateName(FacesContext context, UIComponent validate,
        Object value) {
    String inputFromField = (String) value;
    String simpleTextPatternText = "^[a-zA-Z0-9]+$";
    Pattern textPattern = null;
    Matcher nameMatcher = null;
    textPattern = Pattern.compile(simpleTextPatternText);
    nameMatcher = textPattern.matcher(inputFromField);
    System.out.println("Inside validation method!!");
    if (!nameMatcher.matches()) {
        System.out.println("NO MATCH!!!");
        FacesMessage msg = new FacesMessage(
                Your name cannot contain special characters);
        throw new ValidatorException(msg);
    }
} …
Run Code Online (Sandbox Code Playgroud)

java jsf java-ee java-ee-6 jsf-2

6
推荐指数
1
解决办法
9614
查看次数

如何使用JSF 2.0下载存储在数据库中的文件

我需要下载存储在数据库中的文件.我想我做了正确的查询并调用它我只是不知道如何将它连接到JSF页面中的按钮.另外我想知道,在将它传递到JSF页面之前,我是否必须将该图像保存在服务器的文件夹中.如果是这样,我该怎么做?

这是我用来从db返回byte []的查询:

@NamedQuery(name = "downloadGarbage", query = "SELECT g.file FROM Garbage g WHERE g.id :idParam")
@Entity
public class Garbage implements Serializable {
@Lob
@Column(nullable = false)
private byte[] file;
....
Run Code Online (Sandbox Code Playgroud)

这是一个简单的EJB,它调用该查询然后获取id:

@Stateless(name = "ejbs/FileDownloaderEJB")
public class FileDownloaderEJB implements IFileDownloaderEJB {

@PersistenceContext
private EntityManager em;

public byte[] downloadGarbage(Long id) {
    Query query = em.createNamedQuery("downloadGarbage");
    query.setParameter("idParam", id);

    Object o = query.getSingleResult();
    byte[] tmpArray = (byte[]) o; 
    return tmpArray;
}
Run Code Online (Sandbox Code Playgroud)

现在这是困扰我的部分,我在JSF页面和托管bean上面怎么样?

@ManagedBean
@RequestScoped
public class DownloadController {

@EJB
private FileDownloaderEJB fileDownloaderEJB;

    ... …
Run Code Online (Sandbox Code Playgroud)

java jsf jpa download java-ee

6
推荐指数
1
解决办法
9311
查看次数

使用JAXP解析简单的XML文档(JEE6)

我想为我的网络应用程序创建一个授权过滤器(以便能够限制对某些页面的访问).

我创建了一个简单的.xml文件,其中包含允许每个用户访问的页面:

  <access>
    <buyer>
        <page>buyoffer.xhtml</page>
        <page>faq.xhtml</page>
        <page>index.jsp</page>
        <page>login.xhtml</page>
        <page>main.xhtml</page>
        <page>registrationSucceded.xhtml</page>     
    </buyer>
    <seller>
        <page>sellerpanel.xhtml</page>
        <page>faq.xhtml</page>
        <page>index.jsp</page>
        <page>login.xhtml</page>
        <page>main.xhtml</page>
        <page>registrationSucceded.xhtml</page>     
    </seller>
    <administrator>
        <page>sellerpanel.xhtml</page>
        <page>faq.xhtml</page>
        <page>index.jsp</page>
        <page>login.xhtml</page>
        <page>main.xhtml</page>
        <page>registrationSucceded.xhtml</page>     
    </administrator>
</access>
Run Code Online (Sandbox Code Playgroud)

然后我需要进行解析以提取页面的值,以便能够创建允许或重定向的条件(依赖).我只需要告诉某人如何从xml中提取这些页面的值.这就是我现在所做的:

public class RestrictPageFilter implements Filter {

    private FilterConfig fc;
    private DocumentBuilder builder;
    private Document document;

    public void init(FilterConfig filterConfig) throws ServletException {
        // The easiest way to initialize the filter
        fc = filterConfig;
        // Get the file that contains the allowed pages
        File f = new File("/allowedpages.xml");
        // Prepare the file …
Run Code Online (Sandbox Code Playgroud)

java xml parsing java-ee

6
推荐指数
1
解决办法
1万
查看次数

如何在ado net中使用UPDATE

我需要在表格(Homework)中执行更新.但它不只是用新的价值取代旧的价值; 对于列中已存在的值,我必须添加(SUM)新值(该列的类型为int).这是我到目前为止所做的,但我被困住了:

protected void subscribeButton_Click(object sender, EventArgs e)
    {
        string txtStudent = (selectedStudentLabel.Text.Split(' '))[0];
        int studentIndex = 0;
        studentIndex = Convert.ToInt32(txtStudent.Trim());        

        SqlConnection conn = new SqlConnection("Server=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\Database.mdf;Trusted_Connection=True;User Instance=yes");
        conn.Open();
        string sql2 = "UPDATE student SET moneyspent = " + ?????? + " WHERE id=" + studentIndex + ";";
        SqlCommand myCommand2 = new SqlCommand(sql2, conn);

        try
        {
            conn.Open();
            myCommand2.ExecuteNonQuery();
        }
        catch (Exception ex)
        {
            Console.WriteLine("Error: " + ex);
        }
        finally
        {
            conn.Close();
        }
    }
Run Code Online (Sandbox Code Playgroud)

我应该添加什么实现我的目标?

有可能这样做吗?我想避免使用很多查询.

.net c# sql ado.net

6
推荐指数
1
解决办法
3万
查看次数

关于多态性的使用的疑问,以及关于多态如何与铸造有关?

我向在大学学习这门课程的学生讲授Java编程语言的基础知识.

今天其中一个让我对她的问题感到困惑,所以我告诉她给我一天的时间来思考这个问题,我会尽可能准确地给她答案.

她告诉我,当她instanceof在考试中使用关键词时,老师非常生气.

此外,她说老师说没有办法证明如果使用这个词,多态性是如何起作用的.

我想了很多,试图找到一种方法来证明在某些情况下我们需要使用instanceof,而且即使我们使用它,在这种方法中仍然存在一些多态性.

所以这是我做的例子:

public interface Animal
{
    public void talk();
}

class Dog implements Animal {        
    public void talk() {
        System.out.println("Woof!");
    }
}

public class Cat implements Animal
{
    public void talk() {
         System.out.println("Meow!");
    }    

    public void climbToATree() {
          System.out.println("Hop, the cat just cimbed to the tree");
    }
}

class Hippopotamus implements Animal {
    public void talk() {
        System.out.println("Roar!");
    }    
}

public class Main {
    public static void main(String[] args) {
        //APPROACH 1 …
Run Code Online (Sandbox Code Playgroud)

java oop polymorphism instanceof

6
推荐指数
2
解决办法
866
查看次数

从JSF页面调用方法疑惑

关于我在EL中调用方法的方式,我有几个问题.也许有人可以解释它是如何运作的.

我做了这个非常简单的例子:

的index.xhtml

<h:body>
<!-- Using a method -->
#{bba.salute()}
<br/>
<h:outputText value="#{bba.salute()}"/>
<br/>
<!-- Using a method from an injected bean-->
 #{bba.b.doSomething()} 
</h:body>
Run Code Online (Sandbox Code Playgroud)

BackBeanA.java

@Named("bba")
@SessionScoped
public class BackBeanA implements Serializable {

    private static final long serialVersionUID = 5671761649767605303L;
    @Inject
    private BackBeanB b;

    public String salute() {
        return "Hi! I am 'A'";
    }

    public BackBeanB getB() {
        return b;
    }

    public void setB(BackBeanB b) {
        this.b = b;
    }   
}
Run Code Online (Sandbox Code Playgroud)

BackBeanB.java

@Named("bbb")
@SessionScoped
public class BackBeanB implements Serializable { …
Run Code Online (Sandbox Code Playgroud)

java jsf el java-ee jsf-2

6
推荐指数
1
解决办法
4万
查看次数

将操作方法​​添加到复合组件

我正在学习使用JSF 2.0的复合组件,我希望我的组件能够从支持bean中触发方法,所以我创建了一个简单的例子,但是出了点问题.

这是我创建的组件:

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
xmlns:composite="http://java.sun.com/jsf/composite">

<composite:interface>
        <composite:attribute name="attribute1"/>
        <composite:attribute name="attribute2"/>
        <composite:attribute name="actionBtnText"/>
        <composite:attribute name="actionMethod" method-signature="java.lang.String action()"/>
</composite:interface>

<composite:implementation>
    <h:form>
            <h:inputText value="#{cc.attrs.attribute1}"/>
            <br/>
            <h:inputText value="#{cc.attrs.attribute2}"/>
            <br/>
            <h:commandButton action="#{cc.attrs.actionMethod}" value="#{cc.attrs.actionBtnText}"/>          
    </h:form>

</composite:implementation> 

</html>
Run Code Online (Sandbox Code Playgroud)

这是我在JSF页面中使用它的方式

<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:custom="http://java.sun.com/jsf/composite/custom">

...

    <h:body>
    <custom:demoCustomComponent attribute1="#{demoBB.value1 }" attribute2="#{demoBB.value2 }" actionBtnText="Button text!" actionBtn="#{demoBB.act}"/>
    </h:body>
Run Code Online (Sandbox Code Playgroud)

这是支持组件所在页面的支持bean

@Named("demoBB")
@RequestScoped
public class DemoBB {

    private String value1;
    private String value2;
    public String getValue1() {
        return value1;
    }

    public String act() {
        System.out.println("Input 1: " + value1 …
Run Code Online (Sandbox Code Playgroud)

java jsf facelets composite-component jsf-2

6
推荐指数
1
解决办法
1万
查看次数

如何使用Netbeans 7.1配置glassfish 3.1安全文件领域?

我试图在本教程后面的glassfish 3.1中配置一个简单的文件域:

我做了一切,因为它说但不起作用,当我前往管理页面时,我没有看到弹出消息要求凭据.这就是我做的:

1-创建文件域: 在此输入图像描述

2-然后我使用manage users按钮创建了一个用户 在此输入图像描述

3-I使用图形界面而不是编辑器创建了glassfish-web.xml文件 在此输入图像描述

4 - 然后以同样的方式配置web.xml 在此输入图像描述 对不起,如果最后一张图片有点难以看清,你可以放大.

当我使用URL前往/admin.xhtml时,没有什么能阻止我查看页面内容,这意味着没有正确配置.我不知道我错过了什么.有人可以试着找出我不能让这个简单的安全任务工作的原因吗?

更新

这是我的web.xml源码

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/index.xhtml</welcome-file>
    </welcome-file-list>
    <security-constraint>
        <display-name>Constraint1</display-name>
        <web-resource-collection>
            <web-resource-name>allowed</web-resource-name>
            <description/>
            <url-pattern>/admin.xhtml</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <description/>
            <role-name>administrator</role-name>
        </auth-constraint>
    </security-constraint>
    <login-config>
        <auth-method>BASIC</auth-method>
        <realm-name>file</realm-name>
    </login-config>
    <security-role>
        <description/>
        <role-name>administrator</role-name>
    </security-role>
</web-app>
Run Code Online (Sandbox Code Playgroud)

还有glassfish-web.xml源码

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server …
Run Code Online (Sandbox Code Playgroud)

java security netbeans glassfish java-ee

6
推荐指数
1
解决办法
1万
查看次数