Что состоит в том, чтобы проверить лучший способ, допустим ли URL в Java?
Если попробовано звонить new URL(urlString)
и выгода a MalformedURLException
, но это, кажется, довольно чем-либо, что начинается http://
.
Я не обеспокоен установлением соединения, просто законность. Существует ли метод для этого? Аннотация в В спящем режиме Блок проверки допустимости? Я должен использовать regex?
Править: Некоторые примеры принятых URL http://***
и http://my favorite site!
.
Возвращаемые значения являются полностью произвольными. Когда вы пишете программу, вы можете заставить ее вернуть любое значение, которое вы хотите. В PHP это можно сделать с помощью языковой конструкции exit :
<?php
exit(33);
Точный код статуса для определенной части программного обеспечения можно узнать на его документации (учитывая, что автор фактически задокументировал его). Тем не менее, существует общее согласие, что 0 означает «OK», а что-либо еще означает «была проблема», поэтому проверка по отношению к нулю, как правило, достаточно.
В вашем случае, похоже, вы пытаетесь выполнить несуществующую программу. PHP выполняет внешние программы через системную оболочку, так что значение, вероятно, будет получено из bash или какой-либо оболочки по умолчанию у вас есть. В Unix существует несколько кодов выхода со специальными значениями и 127 означает команда не найдена .
-121--1572252-Для хранения экземпляров Zend_DbTable в статическом массиве в классе базовой модели использовался одноэлементный образец. Это уменьшает количество запросов БД до одного на запрос, что достаточно хорошо для меня, а также уменьшает количество объектов, которые необходимо создать.
Например:
protected $_dbTable;
protected $_table; //override the database table name in subclass
private static $_dbTableCache = array();
public function __construct()
{
$this->_dbTable = $this->getDbTableInstance($this->_table);
}
protected function getDbTableInstance($tableName) {
if (self::$_dbTableCache[$tableName] === null) {
self::$_dbTableCache[$tableName] = new Zend_Db_Table($tableName);
}
return self::$_dbTableCache[$tableName];
}
-121--2644617- Рекомендуется использовать класс Apache Commons Url Validator
UrlValidator urlValidator = new UrlValidator();
urlValidator.isValid("http://my favorite site!");
. Существует несколько свойств, которые можно задать для управления поведением этого класса. По умолчанию принимаются http
, https
и ftp
.
Бесстыдный штекер: Простой инжектор работает в среде Medium Trust!
-121--4460218- Используйте: b < имя _ класса >:: < имя _ функции >, если это = 0xDEADBEEF
(btw: все экземпляры совместно используют адреса функций-членов)
Судя по исходному коду для URI
, конструктор
public URL(URL context, String spec, URLStreamHandler handler)
выполняет больше проверки, чем другие конструкторы. Вы можете попробовать это, но YMMV.
Кажется, есть хороший пакет от Yonatan Matalon под названием UrlUtil. Цитирую его API:
isValidWebPageAddress(java.lang.String address, boolean validateSyntax,
boolean validateExistance)
Checks if the given address is a valid web page address.
Java-сайт Sun предлагает попытку подключения в качестве решения для проверки URL.
Есть попытки проверки regex на сайте Oracle и weberdev.com.