• 使用Struts2实现超级文本的链接


    一、首先使用MyEclipse新建一个web项目,步骤如下:

    1.File  →New→Web Project命令,弹出相应对话框,在Project name中输入你的项目名称

    选择我们自己安装配置的版本<Java version>(我的是1.7版本的),在Targer runname选

    择相应的Tomcat ,如图所示,点击下一next步:

    2.进入Java界面,此处可以不用修改,点击next:

    3.进入Web Module界面在其中勾选Generate web.xml......复选框,点击next:

    4点击finish:

    5.创建完成之后的StrutsDemo,如图所示:

    二、添加Struts2框架的支架文件。

    在lib文件夹中添加接下来我们需要的包,如图:

    三、新建JSP(Hello.jsp)页面,并添加相关代码,如图:

    </head><body>
      <center>
      <!-- hello是请求的action,也可以写成hello.action -->
      <h3><a href="hello">从Hello.jsp页面跳转到HelloWord.jsp页面</a></h3>
      </center></body>

    此处应选择“utf-8”

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>

    在新建一个HelloWorld.jsp页面,在其中显示欢迎的内容:

    </head>
     <center>
     <h2>欢迎来到struts 2的世界!</h2>
     <h3>第一个程序,hello world</h3>
     </center>

    四.在web.xml中添加过滤器,如:

    <?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"
    xmlns:web
    ="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
    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>StrutsDemo</display-name> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.ng.filter .StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>

    五.创建业务控制器HelloAction类(让HelloAction类继承com.opensymphony.xwork2包中的ActionSupport类)

    HelloAction类的代码如下:

    package com.yzpc.action;
    
    import com.opensymphony.xwork2.ActionSupport;
    
    public class HelloAction extends ActionSupport {
        @Override
        public String execute() throws Exception{
            return SUCCESS;
            
        }
    }

    六.编写struts.xml配置文件:

    <?xml version="1.0" encoding="utf-8"?>
    
    <!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
     <struts>
     <package name="default" namespace="/" extends="struts-default">
        <action name="hello" class="com.yzpc.action.HelloAction"> 
           <result name="success">/HelloWorld.jsp </result>
       </action>
      </package>
    </struts>

    五、六文件夹所在位置

    七.启动Tomcat 7x后,在浏览器的地址栏中输入:http://localhost:8080/StrutsDemo/Hello.jsp.

    在启动Tomact的时候可能会出现此类现象(这是我个人在运行时出现的问题),意思是缺少项目运行时

    所需要的包;之后在lib中添加缺少的包即可。

    如果还是不行得话,要检查一下web.xml文件下的<filter-class>内的内容要写在一行内

     <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
    严重: Exception starting filter struts2
    java.lang.ClassNotFoundException: org.apache.struts2.dispatcher.ng.filter
      .StrutsPrepareAndExecuteFilter
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1720)
        at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)
        at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:529)
        at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:511)
        at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:139)
        at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:258)
        at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
        at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4809)
        at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5485)
        at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
        at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
        at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
        at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:632)
        at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1247)
        at org.apache.catalina.startup.HostConfig$DeployDirectory.run(HostConfig.java:1898)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
    七月 27, 2017 8:08:37 下午 org.apache.catalina.core.StandardContext startInternal
    严重: Error filterStart

     运行结果:

    点击上面的字体连接到:

  • 相关阅读:
    Java
    Spring
    Q&A
    Q&A
    Q&A
    Spring
    Elasticsearch部署及基本概念
    rust(二) 变量及类型
    rust(一) 一些命令
    vim笔记
  • 原文地址:https://www.cnblogs.com/guolun/p/7247289.html
Copyright © 2020-2023  润新知