小编Bha*_*esh的帖子

在没有Java密码身份验证的情况下将邮件发送到任何邮件服务器(Gmail,Yahoo等)

我们正在JSF中开发一个简单的Web应用程序,其中需要包含"忘记密码"模块.为了演示和简单起见,我在Java Servlet中尝试了以下代码.它可以向Gmail发送邮件,并且可以正常工作,完全没有问题.以下是完整的Servlet代码.

public class MailClient extends HttpServlet {

    private class SMTPAuthenticator extends Authenticator {

        private PasswordAuthentication authentication;

        public SMTPAuthenticator(String login, String password) {
            authentication = new PasswordAuthentication(login, password);
        }

        @Override
        protected PasswordAuthentication getPasswordAuthentication() {
            return authentication;
        }
    }

    protected void processRequest(HttpServletRequest request,
         HttpServletResponse response) throws ServletException, IOException {

        response.setContentType("text/html;charset=UTF-8");
        PrintWriter out = response.getWriter();
        try {
            String from = "bhaveshp1980@gmail.com";
            String to = "bhaveshp1980@gmail.com";
            String subject = "A mail from Java.";
            String message = "My first mail from Java."; …
Run Code Online (Sandbox Code Playgroud)

java email servlets

2
推荐指数
1
解决办法
1641
查看次数

JSF中仅数字文本字段

如何允许文本字段仅允许JSF中的数字?我在Google上搜索了很多,但在JSF中找不到解决方案.

jsf

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

Java中的编译器在尝试解析字符串值时出乎意料地挂起,2.2250738585072012e-308加倍

我在NetBeans 6.9.1中尝试了以下代码,它应该在控制台上显示值,但编译器出乎意料地挂断了.代码段如下.

package demo;

public class Main
{
    public static void main(String[] args) 
    {
        System.out.println("Test Demo:");
        double d = Double.parseDouble("2.2250738585072012e-308");
        //double d = Double.parseDouble("30000.2250738585072012e-308"); Works with no hangs up.
        System.out.println("Value = " + d);
    }
}
Run Code Online (Sandbox Code Playgroud)

它可能不是Java中双倍范围的情况.如果指定的值超出范围,它应该抛出一些异常或导致一些错误,但它会挂起,而不是.究竟应该是什么原因?

java

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

尽管JSF中的某些验证器运行良好,但控制台上仍会显示一些错误消息或警告

在我使用JSF的Web应用程序中,某些验证器(例如长度验证器<f:validateLength></f:validateLength>,正则表达式验证器)<f:validateRegex></f:validateRegex>和其他一些验证器在加载JSF页面时即使工作正常也没有问题,也会发出一些错误,甚至可能是警告。

这里不需要JSF ManagedBean,并且以下代码中显示的Submit按钮与之无关,因为Ajax在给定文本字段的valueChange事件上触发

以下是简单的JSF页面代码。


<?xml version='1.0' encoding='UTF-8' ?>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core">

<h:head>
    <title>Demo</title>
</h:head>
<h:body>
    <h:form>
        <center><br/><br/><br/>
        <h:inputText id="txtDemo" required="true" requiredMessage="Mandatory." 
            validatorMessage="The field should contain al least 10 digits">

            <f:validateLength id="lenValidator" for="txtDemo" maximum="10" 
            minimum="2"/>

            <f:validateRegex pattern="[0-9]*" for="txtDemo" id="txtPattern"/>

            <f:ajax id="txtAjax" event="valueChange" execute="txtDemo msg" 

            render="txtDemo msg"/>
        </h:inputText><br/>

        <h:message id="msg" for="txtDemo" showDetail="true" style="color:red"/>
        <br/>
        <h:commandButton id="btnSubmit" value="Submit"/>
        </center>
    </h:form>
</h:body>
Run Code Online (Sandbox Code Playgroud)


在上面的代码中,尽管验证器<f:validateLength></f:validateLength><f:validateRegex></f:validateRegex>可以正常工作,但是长度验证器不允许少于2个字符和大于10个字符,并且正则表达式验证器确保该字段应仅包含数字,当出现以下情况时,控制台上会出现红色消息:此JSF页面已加载。显示的消息如下。

SEVERE: /Restricted/TempTags.xhtml @12,93 id="lenValidator" Unhandled by MetaTagHandler for type javax.faces.validator.LengthValidator

SEVERE: …
Run Code Online (Sandbox Code Playgroud)

validation jsf facelets

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

删除后,Oracle中的TRUNCATE命令如何能够检索表的结构?

Oracle中的SQL命令TRUNCATE比DELETE FROM table;TRUNATE命令首先完全删除其中的指定表然后创建具有相同结构的新表(在我可能错误的情况下可能需要澄清)更快.由于TRUNCATE是DDL的一部分,因此它在执行之前和执行完成之后隐式发出COMMIT.如果是这种情况,那么由TRUNCATE命令删除的表将永久丢失,并且它在数据字典中的整个结构.在这种情况下,TRUNCATE命令如何能够首先删除表并使用相同的结构重新创建相同的表?

oracle

1
推荐指数
2
解决办法
1393
查看次数

在Java中单独行中指定的URL不会发出编译时错误.为什么?

有些日子,我匆匆错误地在我的Java程序中粘贴了一个URL,我试图运行该特定程序,并且在我的好奇心中,它成功运行,没有任何警告,没有错误,没有例外.类似的代码如下所示.我编译并成功运行.

final public class Main
{
    public static void main(String[] args)
    {                    
        System.out.println ("A curiosity");
        https://localhost:8181/OnlineShoppingCartSystem-war/Restricted/Home
        System.out.println ("compiled Ok!");
    }
}
Run Code Online (Sandbox Code Playgroud)

在main()方法的第二行,它应该发出一些编译时错误,但它运行良好并在控制台上显示相应的消息.为什么?

java

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

一个不起作用的简单Java代码

Java中的以下简单代码有点奇怪,我无法理解.

final public class Main
{
    public static void main(String[] args)
    {
        Scanner sc = new Scanner(System.in);
        System.out.print("\nHow many names?   ");

        int n = sc.nextInt();
        String[] a = new String[n];

        a[0] = sc.nextLine(); //This line serves no purpose at all. It's useless and should be removed.

        for (int i=0; i<n; i++)
        {
            System.out.print("\nEnter the name:->");
            a[i] = sc.nextLine(); //request for input only inside the loop.
        }

        for (int i=0; i<a.length; i++)
        {
            System.out.println(a[i]);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

上面运行良好,没有任何问题,并显示在控制台上输入数组a []的名称数量,但是当我 …

java

0
推荐指数
1
解决办法
131
查看次数

一个简单的jQuery函数不起作用

以下是简单的jQuery函数,但我无法弄明白.

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>Screen Class</title>

<script type="text/javascript" language="javascript"> 

   //<![CDATA[
   function getFocus()
   {               
        document.getElementById("txtScreenClassCode").focus();                
   }  

   $(document).ready(function() 
   {                            
        $("#txtScreenClassCode").keypress(function(event) 
        {                                
            if (event.keyCode==46 || event.keyCode==8|| event.keyCode==9 || event.keyCode>=35 && event.keyCode<=40) 
            {
                // let it happen, don't do anything                       
            }
            else 
            {                               
                if (event.charCode<48 || event.charCode>57 || event.charCode==16) 
                {                            
                        event.preventDefault(); 
                }       
            }                  
        });
    });
   //]]>
</script>

</head>
<body onload="getFocus();">

<input type="text" id="txtScreenClassCode"  
    name="txtScreenClassCode"style="background-color: white">

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

在上面的代码中,jQuery函数$(document).ready(function()不起作用.这意味着只允许TextField上述数字.浏览器在此函数的开头显示错误,即在此行本身$(document).ready(function()上指示Object预期.这个功能应该有什么问题?我用IE和Mozilla Firefox编写了它,我也尝试将它放在一个不同的目录中,并将其包含在CDATA标签中,但没有用.

jquery

0
推荐指数
1
解决办法
1559
查看次数

使用PHP implode函数使用一个INSERT语句将多行插入MySql

我正在尝试INSERT INTO使用该implode函数仅使用一个语句将多行插入到MySql中.它是从这里发现的.

我的示例代码如下.

$sql[]=array();
$len=count($colour_id);
for($i=0;$i<$len;$i++)
{
     $sql[]='('.$colour_id[$i].', '.$_POST['prod_id'].')';
}

$l=count($sql);
foreach($sql as $temp)
{
     echo $temp;
}

echo 'insert into product_colour (colour_id, prod_id)values '.implode(',', $sql);
Run Code Online (Sandbox Code Playgroud)

上面的代码只是初始化$sql数组,foreach循环遍历数组并显示数组的内容,如下所示.

Array(1, 1)(2, 1)(3, 1)
Run Code Online (Sandbox Code Playgroud)

但是在回显最后一个语句(insert语句)时,它显示以下错误.

Notice: Array to string conversion in C:\wamp\www\wagafashion\ProductColour.php on line 70
insert into product_colour (colour_id, prod_id)values Array,(1, 1),(2, 1),(3, 1) 
Run Code Online (Sandbox Code Playgroud)

(第70行表示上面代码段中的最后一行).应该进行哪些更改,以便可以将存储在数组中的值插入到MySql数据库中?

php

0
推荐指数
1
解决办法
5456
查看次数

如何在PHP中单独销毁管理会话和用户会话?

我目前正在处理一个我遇到明显问题的应用程序.我的应用程序中有两个主要面板,一个是管理面板,另一个是用户面板,显而易见.

假设,管理员当前登录到他的面板,同时用户面板上的某些用户可能已经登录.如果我在PHP中使用以下代码注销并重定向到登录页面,会发生什么?当管理员或任何用户注销时).

session_start();
session_unset();

if(session_destroy())
{
    header("location:Login.php");   
}
Run Code Online (Sandbox Code Playgroud)

假设用户在管理员仍然登录时正在注销.上面的代码将破坏会话,因此管理员也会注销并重定向到登录页面.

我知道会话可以解决这样的问题,unset($_SESSION['something'])但是记住应用程序中使用的所有会话变量是一个繁琐的过程,因为在这两个方面(管理员和用户)已经使用了很多会话变量.

有没有办法分别销毁管理会话和用户会话?我的意思是当用户退出他的会话被销毁时,根本不会影响管理会话,反之亦然.

php session

0
推荐指数
2
解决办法
1444
查看次数

标签 统计

java ×4

jsf ×2

php ×2

email ×1

facelets ×1

jquery ×1

oracle ×1

servlets ×1

session ×1

validation ×1