受阻建了一个PROJECT:JEEsrc下有个包:servlets包下有俩servlet: PageRedirect.java, HelloWorld.java
我可以分别RUN这两个吗?我单独RUN PageRedirect.java, URL like this: http://localhost:8080/JEE/servlet/servlets.PageRedirect我单击JEE RUN后,URL like this: http://localhost:8080/JEE/ 郁闷的是,2者输途同归,结果都是:HTTP Status 404
The requested resource is not available.求解答,thank you!
我可以分别RUN这两个吗?我单独RUN PageRedirect.java, URL like this: http://localhost:8080/JEE/servlet/servlets.PageRedirect我单击JEE RUN后,URL like this: http://localhost:8080/JEE/ 郁闷的是,2者输途同归,结果都是:HTTP Status 404
The requested resource is not available.求解答,thank you!
都配了也不行 <servlet>
<servlet-name>HelloWorld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet>
<servlet-name>PageRedirect</servlet-name>
<servlet-class>PageRedirect</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloWorld</servlet-name>
<url-pattern>/HelloWorld</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>PageRedirect</servlet-name>
<url-pattern>/PageRedirect</url-pattern>
</servlet-mapping>
好象不用mapping这部分也行?
访问的时候
http://localhost:8080/JEE/HelloWorld
这样才行的。
假如不修改默认配置的话,url是http://localhost:8080/JEE/servlet/servlets/PageRedirect假如你的web.xml有配置index目录
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
的话,那url:http://localhost:8080/JEE/直接跳转到index.jsp
貌似这个配置也是建servlet项目自动生成的,假如启动了项目还404,看看你是否发布了项目。
看你的文件名是PageRedirect和helloworld,是不是是一个response.sendRedirect()的练习跳转到HelloWorld.java????重定向用的是相对路径,查看你写的相对路径是否正确~
SEVERE: Exception looking up UserDatabase under key UserDatabase
javax.naming.NameNotFoundException: Name [UserDatabase] is not bound in this Context. Unable to find [UserDatabase].
at org.apache.naming.NamingContext.lookup(NamingContext.java:820)
at org.apache.naming.NamingContext.lookup(NamingContext.java:168)
at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:255)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201)
at org.apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1109)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Aug 6, 2013 5:50:42 PM org.apache.catalina.realm.CombinedRealm startInternal
SEVERE: Failed to start "org.apache.catalina.realm.UserDatabaseRealm/1.0" realm
org.apache.catalina.LifecycleException: Failed to start component [Realm[UserDatabaseRealm]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.realm.CombinedRealm.startInternal(CombinedRealm.java:201)
at org.apache.catalina.realm.LockOutRealm.startInternal(LockOutRealm.java:120)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1109)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:302)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:732)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.startup.Catalina.start(Catalina.java:684)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:456)
Caused by: org.apache.catalina.LifecycleException: No UserDatabase component found under key UserDatabase
at org.apache.catalina.realm.UserDatabaseRealm.startInternal(UserDatabaseRealm.java:264)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 17 more
<?xml version='1.0' encoding='utf-8'?>
<Context path="/musicStore">
<Resource
name="jdbc/music"
auth="Container"
maxActive="100" maxIdle="30" maxWait="10000"
username="root" password="root"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://localhost:3306/music?autoReconnect=true"
logAbandoned="true"
removeAbandoned="true"
removeAbandonedTimeout="60"
type="javax.sql.DataSource" /> <Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
dataSourceName="jdbc/music" localDataSource="true"
userTable="UserPass" userNameCol="Username" userCredCol="Password"
userRoleTable="UserRole" roleNameCol="Rolename" /></Context>
不知道 <Realm 这部分是干啥用的
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<ResourceLink type="javax.sql.DataSource" name="jdbc/music" global="jdbc/music"/></Context>server.xml:<GlobalNamingResources>
<!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users -->
<Resource validationQuery="SELECT 1" validationInterval="30000" username="root" url="jdbc:mysql://localhost:3306/music" type="javax.sql.DataSource" timeBetweenEvictionRunsMillis="30000" testWhileIdle="true" testOnReturn="false" testOnBorrow="true" removeAbandonedTimeout="60" removeAbandoned="true" password="poiu0000" name="jdbc/music" minIdle="10" minEvictableIdleTimeMillis="30000" maxWait="10000" maxActive="100" logAbandoned="true" jmxEnabled="true" jdbcInterceptors="org.apache.tomcat.jdbc.pool.interceptor.ConnectionState; org.apache.tomcat.jdbc.pool.interceptor.StatementFinalizer" initialSize="10" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" driverClassName="com.mysql.jdbc.Driver" auth="Container"/></GlobalNamingResources>
<!-- This Realm uses the UserDatabase configured in the global JNDI resources under the key "UserDatabase". Any edits that are performed against this UserDatabase are immediately available for use by the Realm. -->
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/></Realm>