Я проиллюстрировал различные возможные правильные сценарии и ошибки, которые могут возникать в Java-коде.
class Outter1 {
String OutStr;
Outter1(String str) {
OutStr = str;
}
public void NonStaticMethod(String st) {
String temp1 = "ashish";
final String tempFinal1 = "ashish";
// below static attribute not permitted
// static String tempStatic1 = "static";
// below static with final attribute not permitted
// static final String tempStatic1 = "ashish";
// synchronized keyword is not permitted below
class localInnerNonStatic1 {
synchronized public void innerMethod(String str11) {
str11 = temp1 +" sharma";
System.out.println("innerMethod ===> "+str11);
}
/*
// static method with final not permitted
public static void innerStaticMethod(String str11) {
str11 = temp1 +" india";
System.out.println("innerMethod ===> "+str11);
}*/
}
// static class not permitted below
// static class localInnerStatic1 { }
}
public static void StaticMethod(String st) {
String temp1 = "ashish";
final String tempFinal1 = "ashish";
// static attribute not permitted below
//static String tempStatic1 = "static";
// static with final attribute not permitted below
// static final String tempStatic1 = "ashish";
class localInnerNonStatic1 {
public void innerMethod(String str11) {
str11 = temp1 +" sharma";
System.out.println("innerMethod ===> "+str11);
}
/*
// static method with final not permitted
public static void innerStaticMethod(String str11) {
str11 = temp1 +" india";
System.out.println("innerMethod ===> "+str11);
}*/
}
// static class not permitted below
// static class localInnerStatic1 { }
}
// synchronized keyword is not permitted
static class inner1 {
static String temp1 = "ashish";
String tempNonStatic = "ashish";
// class localInner1 {
public void innerMethod(String str11) {
str11 = temp1 +" sharma";
str11 = str11+ tempNonStatic +" sharma";
System.out.println("innerMethod ===> "+str11);
}
public static void innerStaticMethod(String str11) {
// error in below step
str11 = temp1 +" india";
//str11 = str11+ tempNonStatic +" sharma";
System.out.println("innerMethod ===> "+str11);
}
//}
}
//synchronized keyword is not permitted below
class innerNonStatic1 {
//This is important we have to keep final with static modifier in non
// static innerclass below
static final String temp1 = "ashish";
String tempNonStatic = "ashish";
// class localInner1 {
synchronized public void innerMethod(String str11) {
tempNonStatic = tempNonStatic +" ...";
str11 = temp1 +" sharma";
str11 = str11+ tempNonStatic +" sharma";
System.out.println("innerMethod ===> "+str11);
}
/*
// error in below step
public static void innerStaticMethod(String str11) {
// error in below step
// str11 = tempNonStatic +" india";
str11 = temp1 +" india";
System.out.println("innerMethod ===> "+str11);
}*/
//}
}
}
+1 UrlRewritingNET.URLRewrite - используемый в нескольких сотнях сервисов/порталов/сайтов на единственное поле без проблемы в течение многих лет! (@Jason - который является тем, который Вы говорите о, правильно?)
и я также использовал URLRewriter.NET на персональном сайте и нашел его, ах, интересным. @travis, Вы правы относительно измененного синтаксиса, но как только Вы привыкаете к нему, это хорошо.
Существует Система. Сеть. Маршрутизация, которая была просто выпущена с.NET 3.5.
можно просто использовать Запрос. RewritePath () в пользовательском HttpModule
я предпочитаю использовать реализацию IHttpHandlerFactory и имею полный контроль над всеми входящими URL и где они отображаются на.
Если бы я запускал новый веб-проект теперь, то я посмотрел бы на использование MVC с нуля. Это использует переписанные URL в качестве стандарта.
Я использовал UrlRewriting.NET прежде на сайте очень интенсивного трафика - он работал отлично для нас. Я полагаю, что разработчики - немцы, таким образом, английская документация, вероятно, не так хороша, как это могло быть. Я настоятельно рекомендовал бы его.
IIS 7 имеет URL, Переписывают Модуль, который довольно способен и интегрируется хорошо с IIS.
У меня был хороший опыт с Фильтр Перезаписи ISAPI ионика , который очень похож на ISAPI_Rewrite, кроме свободного. Оба смоделированы после mod_rewrite и являются фильтрами ISAPI, таким образом, Вы не можете управлять ими в коде, поскольку необходимо настроить их в IIS.
Я просто установил Перезапись ISAPI Геликона 3 . Работы точно как htaccess. Я рою его до сих пор.
Я использовал URL.NET Rewriter и Обратный Прокси с большим успехом. Это почти на одном уровне с mod_rewrite и использует почти весь тот же синтаксис. Владелец проекта чрезвычайно услужлив и дружелюбен, и продукт работает отлично. Этот драгоценный камень обеспечивает и Перезапись и функциональность Прокси, которую не предлагают много решений. IMO, стоящий взгляда.
Я бы не рекомендовал UrlRewritingNet, если вы работаете в среде IIS7 Windows 2008.
Причина: UrlRewritingNet требует, чтобы у вас был режим пула приложений = классический, а НЕ интегрированный. Это не оптимально Кроме того, их проект кажется очень мертвым за последние 2 года.