2015-09-26 5 views
2

Я изменяю свое приложение, чтобы переименовать все .jsp-страницы в .html.Shiro все еще ищет login.jsp, когда все страницы приложений переименованы в .html

Модифицированный shiro.ini выглядит следующим образом:

[main] 
shiro.loginUrl = /login.html 

dataSource = org.apache.shiro.jndi.JndiObjectFactory 
dataSource.resourceName = java:/comp/env/jdbc/myappDB 

credentialsMatcher = org.apache.shiro.authc.credential.Sha256CredentialsMatcher 

jdbcRealm = org.apache.shiro.realm.jdbc.JdbcRealm 
jdbcRealm.dataSource = $dataSource 
jdbcRealm.credentialsMatcher = $credentialsMatcher 

[filters] 

[urls] 
/login.html = authc 
/logout = logout 
/secure/** = authc 

/api/** = authcBasic, rest 

web.xml

<?xml version="1.0" encoding="UTF-8"?> 
<web-app 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" 
    version="3.0"> 

    <listener> 
     <listener-class>org.apache.shiro.web.env.EnvironmentLoaderListener</listener-class> 
    </listener> 

    <servlet-mapping> 
     <servlet-name>jsp</servlet-name> 
     <url-pattern>*.jsp</url-pattern> 
     <url-pattern>*.html</url-pattern> 
    </servlet-mapping> 

    <filter> 
     <filter-name>ShiroFilter</filter-name> 
     <filter-class>org.apache.shiro.web.servlet.ShiroFilter</filter-class> 
    </filter> 
    <filter-mapping> 
     <filter-name>ShiroFilter</filter-name> 
     <url-pattern>/*</url-pattern> 
     <dispatcher>REQUEST</dispatcher> 
     <dispatcher>FORWARD</dispatcher> 
     <dispatcher>INCLUDE</dispatcher> 
     <dispatcher>ERROR</dispatcher> 
    </filter-mapping> 

    <welcome-file-list> 
     <welcome-file>appmain.html</welcome-file> 
    </welcome-file-list> 

</web-app> 

Несколько моментов:

  • приложение работает нормально, прежде чем я начал модифицировать страницы web.xml и приложений в расширение .html вместо расширения .jsp.
  • Ссылка для входа, которую у меня есть на моей домашней странице, отображается «http://localhost:8080/myapp/login.html», когда я наводил на нее курсор. Но когда я нажимаю на него, я получаю ошибку на 404 странице.
  • Я пробовал как Firefox, так и IE11, с той же проблемой, что и на обоих. Несколько раз очистил кеш.

Любые указания на то, что может быть неправильным?

ответ

0

В моей оригинальной версии shiro.ini возникла проблема. Первая строка ниже [main] началась с shiro.loginURL, когда она на самом деле должна быть shiro.loginUrl. Я сделал это изменение, и мое приложение теперь работает нормально. Я также редактирую вопрос, чтобы показать правильный синтаксис. Я принял свой собственный ответ, чтобы закончить/закрыть этот вопрос.

 Смежные вопросы

  • Нет связанных вопросов^_^