JSP页面放在WebRoot老有问题
初学JSP
我做了一个简单的用户验证, myeclipse+tomcat
web工程名 JspTest
servlet控制器在src的com.chen下
login.jsp 与 wel.jsp 放在WebRoot下 访问的时候必须要打 http://localhost:8080//JspTest/WebRoot/login.jsp
不打WebRoot提示错误 就算打了他也跳转不过去 提示的错误多了去了
奇怪的是我偶然把 login.jsp 与 wel.jsp 放在 WebRoot外边,直接在 JspTest 下
访问的时候 http://localhost:8080/JspTest/login.jsp
业务一点问题也没有,jsp页面不应该放在 WebRoot 里面吗?
我知道肯定是我有什么设置问题 请老师们赐教
[解决办法]
配置文件发出来
[解决办法]
不是项目建的有问题,就是配置和发布有问题。
[解决办法]
能介绍下你是怎么发布这个工程的么?操作过程和配置。
[解决办法]
1:工程建的有问题;-----------> 重新建一个web工程,选择动态的web项目
2:发布到服务器的时候有问题----->得看你是怎么发布的,可以在service.xml里面配置,还可以直接用myeclipse发布 得注意其路径的配置~
[解决办法]
楼主,重建一下项目吧,访问你的jsp页面路径是这样的
http://localhost:端口号/工程名/jsp所放在的文件夹名(在WebRoot下新建的文件夹)/xx.jsp
如果jsp就放在WebRoot下面的话,就是:
http://localhost:端口号/工程名/xx.jsp
[解决办法]
http://localhost:8080//JspTest/WebRoot/login.jsp
这里有有两个错误!
1.8080后面怎么两个斜杠?
2.JspTest是你的工程名,在webRoot下的JSP是不用在路径中添加WebRoot的,WebRoot只是为开发是存放
JSP源码的地方,仅开发时使用,一旦编译好发布到服务器后,JSP就会被放到classpath下去,以xxx_jsp.class存在,此时JSP编译后的页面实际和SRC中的class一样放到了同一个目录下了。所以是不用再路径中加WebRoot的,如果你用的Tomcat,你可以去Catalina这个目录下看看你的项目的目录结构。
[解决办法]
将%tomcat_home%\conf\web.xml 文件中的这段代码:
<servlet> <servlet-name>default</servlet-name> <servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class> <init-param> <param-name>debug</param-name> <param-value>0</param-value> </init-param> <init-param> <param-name>listings</param-name> <param-value>false</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet>
[解决办法]
楼主,你发布工程不对,你不能把你源代码那里的工程直接拷贝到tomcat的webapps下。
正常发布的工程在“tomcat/webapps/你工程名/” 这个目录下是没有WebRoot文件夹的。
你最好在eclipse里右键点击你的工程,然后通过export..这个来生成“你工程.war”文件,然后再把这个war文件拷贝到你的tomcat/webapps下(删除以前你拷贝的那个工程文件夹)。再运行tomcat,这样就行了。
[解决办法]
一个正常的发布的工程目录应该是这样的:
webapps/你的工程名/ 这目录下放你的页面文件,当然你也可以在这里建其它文件夹
webapps/你的工程名/META-INF/
webapps/你的工程名/META-INF/MANIFEST.MF
webapps/你的工程名/WEB-INF/
webapps/你的工程名/WEB-INF/classes 这是你包和类文件夹
webapps/你的工程名/WEB-INF/lib 这是你引用的库的文件夹
webapps/你的工程名/WEB-INF/web.xml 配置的web文件
[解决办法]
看你的症状应该是你在工程中并未将WebRoot目录设置为你的工程发布路径,请你确认!
可以通过eclipse工具或手动修改配置文件,将发布路径指向为WebRoot目录