Spring框架 WEB-INF下访问login.jsp
2017-12-23 13:33
232 查看
A:创建项目(WEB-Project) ZJTS
点击next将web.xml文件一同创建
<display-name>ZJTS</display-name>
工具编辑部署描述符,display-name元素包含的就是XML编辑器显示的名称。说明作用,跟你配置不相关,可直接删除。
B:启动tomcat 浏览器打开index.jsp
C:将web项目中的登录页面login.jsp显示,login.jsp放置于WEB-INF/pages目录下:
展现login.jsp
将login.jsp迁移至WEB-INF/pages目录,安全考虑,WEB-INF目录下的文件不能直接被外部应用访问。
D:创建控制器LoginController
E:本项目使用Spring框架,点击下面的链接了解SpringMVC详情
SpringMVC详情向WEB-INF/lib目录下导入Spring相关jar包
LoginController @Controller注解处ctrl+1导入import org.springframework.stereotype.Controller;
@RequestMapping 注解:@RequestMapping 是 Spring Web 应用程序中最常被用到的注解之一。这个注解会将 HTTP 请求映射到 MVC 和 REST 控制器的处理方法上。
详解
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>ZJTS</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <!-- 所有以.do结尾的请求都会由名为dispatcher的DispatcherServlet处理,这只是配置Spring Web MVC的第一步。 --> <servlet> <servlet-name>dispatcher</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>dispatcher</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> </web-app>
DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下:
1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析;
2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器);
3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器);
4、通过ViewResolver解析逻辑视图名到具体视图实现;
5、本地化解析;
6、渲染具体的视图等;
7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。
F:建立Spring的配置文档dispatcher-servlet.xml,该文件放在myHellorWorld/WEB- INF目录下,它的示例代码如下:
控制器中方法
G:报错
严重: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ZJTS]] at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:162) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1129) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1871) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: java.lang.NoClassDefFoundError: Lorg/apache/commons/logging/Log; at java.lang.Class.getDeclaredFields0(Native Method) at java.lang.Class.privateGetDeclaredFields(Class.java:2397) at java.lang.Class.getDeclaredFields(Class.java:1806) at org.apache.catalina.util.Introspection.getDeclaredFields(Introspection.java:106) at org.apache.catalina.startup.WebAnnotationSet.loadFieldsAnnotation(WebAnnotationSet.java:256) at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:132) at org< c61c span class="hljs-preprocessor">.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:65) at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:336) at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:786) at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:307) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:95) at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5213) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) ... 10 more Caused by: java.lang.ClassNotFoundException: org.apache.commons.logging.Log at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1339) at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167) ... 24 more 十二月 23, 2017 5:24:04 下午 org.apache.catalina.startup.HostConfig deployDirectory 严重: Error deploying web application directory D:\apache-tomcat-all\apache-tomcat-8.0.47\webapps\ZJTS java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ZJTS]] at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:757) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1129) at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1871) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)
H:解决问题,浏览器访问 http://localhost:8080/ZJTS/LoginController/Login.do
相关文章推荐
- 关于Spring MVC 中地址栏访问 /WEB-INF下的.jsp
- WEB-INF目录下的jsp页面如何访问(提醒自己)
- jsp页面如何访问WEB-INF目录下的资源
- java:maven中webapp下的jsp不能访问web-inf下面的bean
- 访问WEB-INF目录中的JSP文件
- jsp中访问WEB-INF目录下的文件
- WEB-INF下的JSP是不能通过URL直接访问的
- 访问web-inf下面的jsp文件
- WEB-INF文件夹下的jsp文件访问不到WebRoot下的js文件
- WEB-INF目录下的jsp页面如何访问?
- 访问WEB-INF目录中的JSP文件
- jsp访问WEB-INF下面的资源-jsp
- 怎样才能访问web-inf下的jsp
- 关于JAVA EE项目在WEB-INF目录下的jsp页面如何访问WebRoot中的CSS和JS文件
- 【JSP】访问WEB-INF下的JSP页面
- 在WEB-INF下的某个页面里使用<jsp:include page="/WEB-INF/personal/yhhead.jsp">,竟然可以访问到
- WEB-INF下的JSP是不能通过URL直接访问的
- No mapping found for HTTP request with URI [/Demo/WEB-INF/page/login.jsp] in DispatcherServlet with
- java WEB-INF中的jsp或html文件访问方法
- spring mvc访问webinf目录下的jsp