第一个struts2应用程序的创建

第一个struts2应用程序的创建(自己图解)微笑

项目整体结构如下:

 

 

web.xml文件的配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5"

    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_2_5.xsd">

 

  <filter>

  <filter-name>struts2</filter-name>

  <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>

   </filter>

  <filter-mapping>

  <filter-name>struts2</filter-name>

  <url-pattern>/*</url-pattern>

  </filter-mapping>

</web-app>

struts.xml文件的配置如下:

<?xml version="1.0" encoding="UTF-8" ?>

 

<!DOCTYPE struts PUBLIC

    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"

    "http://struts.apache.org/dtds/struts-2.0.dtd">

    <struts>

    <package name="struts2" extends="struts-default">

   

    <action name="login" class="com.test.action.loginAction">

     <result name="success">/result.jsp</result>

    </action>

    </package>

    </struts>

login.jsp页面

<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";

%>

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

  <head>

    <base href="<%=basePath%>">

   

    <title>My JSP 'login.jsp' starting page</title>

   

    <meta http-equiv="pragma" content="no-cache">

    <meta http-equiv="cache-control" content="no-cache">

    <meta http-equiv="expires" content="0">   

    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">

    <meta http-equiv="description" content="This is my page">

    <!--

    <link rel="stylesheet" type="text/css" href="styles.css">

    -->

 

  </head>

 

  <body>

  <form action="login.action" method ="post">

  username:<input type="text" name="username"><br/>

  password:<input type="password" name="password"><br/>

 

  <input type="submit" value="submit">

 

  </form>

  </body>

</html>

result.jsp页面

<%@ page language=”java” import=”java.util.*” pageEncoding=”ISO-8859-1”%>

<%

String path = request.getContextPath();

String basePath = request.getScheme()+”://”+request.getServerName()+”:”+request.getServerPort()+path+”/”;

%>

 

<!DOCTYPE HTML PUBLIC “-//W3C//DTD HTML 4.01 Transitional//EN”>

<html>

  <head>

<base href=<%=basePath%>>

   

<title>My JSP ‘result.jsp’ starting page</title>

   

    <meta http-equiv=”pragma” content=”no-cache”>

    <meta http-equiv=”cache-control” content=”no-cache”>

    <meta http-equiv=”expires” content=”0”>   

    <meta http-equiv=”keywords” content=”keyword1,keyword2,keyword3”>

    <meta http-equiv=”description” content=”This is my page”>

    <!—

    <link rel=”stylesheet” type=”text/css href=”styles.css”>

    à

 

  </head>

 

  <body>

   username:${requestScope.username }<br/>

   password:${requestScope.password }

  </body>

</html>

loginAction.java

package com.test.action;

 

public class loginAction {

 

    private String username;

    private String password;

    public String getUsername() {

       return username;

    }

    public void setUsername(String username) {

       this.username = username;

    }

    public String getPassword() {

       return password;

    }

    public void setPassword(String password) {

       this.password = password;

    }

   

    public String execute() throws Exception{

       return “success”;

    }

}

 

运行结果:

1.输入http://localhost:8888/struts2/login.jsp

 

2.结果如下:

 

开发过程中遇到的问题:

1. java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

 

2011-11-18 20:27:30 org.apache.catalina.core.AprLifecycleListener init

信息: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: C:\Program Files\MyEclipse\Common\binary\com.sun.java.jdk.win32.x86_1.6.0.013\bin;D:\Program Files\Tomcat 6.0\bin

2011-11-18 20:27:30 org.apache.coyote.http11.Http11Protocol init

信息: Initializing Coyote HTTP/1.1 on http-8888

2011-11-18 20:27:30 org.apache.catalina.startup.Catalina load

信息: Initialization processed in 560 ms

2011-11-18 20:27:30 org.apache.catalina.core.StandardService start

信息: Starting service Catalina

2011-11-18 20:27:30 org.apache.catalina.core.StandardEngine start

信息: Starting Servlet Engine: Apache Tomcat/6.0.20

2011-11-18 20:27:35 com.opensymphony.xwork2.util.logging.commons.CommonsLogger info

信息: Parsing configuration file [struts-default.xml]

2011-11-18 20:27:35 org.apache.catalina.core.StandardContext filterStart

严重: Exception starting filter struts2

java.lang.NoClassDefFoundError: org/apache/commons/lang/StringUtils

    at com.opensymphony.xwork2.config.providers.XmlConfigurationProvider.register(XmlConfigurationProvider.java:198)

    at org.apache.struts2.config.StrutsXmlConfigurationProvider.register(StrutsXmlConfigurationProvider.java:101)

    at com.opensymphony.xwork2.config.impl.DefaultConfiguration.reloadContainer(DefaultConfiguration.java:180)

    at com.opensymphony.xwork2.config.ConfigurationManager.getConfiguration(ConfigurationManager.java:66)

    at org.apache.struts2.dispatcher.Dispatcher.init_PreloadConfiguration(Dispatcher.java:380)

    at org.apache.struts2.dispatcher.Dispatcher.init(Dispatcher.java:424)

    at org.apache.struts2.dispatcher.FilterDispatcher.init(FilterDispatcher.java:195)

    at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:275)

    at org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:397)

    at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:108)

    at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3800)

    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4450)

    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791)

    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771)

    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:526)

    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:987)

    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:909)

    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:495)

    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1206)

    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:314)

    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053)

    at org.apache.catalina.core.StandardHost.start(StandardHost.java:722)

    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)

    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)

    at org.apache.catalina.core.StandardService.start(StandardService.java:516)

    at org.apache.catalina.core.StandardServer.start(StandardServer.java:710)

    at org.apache.catalina.startup.Catalina.start(Catalina.java:583)

    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:288)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)

Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.StringUtils

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)

    at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)

    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)

    ... 34 more

2011-11-18 20:27:35 org.apache.catalina.core.StandardContext start

严重: Error filterStart

2011-11-18 20:27:35 org.apache.catalina.core.StandardContext start

严重: Context [/struts2] startup failed due to previous errors

2011-11-18 20:27:37 org.apache.coyote.http11.Http11Protocol start

信息: Starting Coyote HTTP/1.1 on http-8888

2011-11-18 20:27:37 org.apache.jk.common.ChannelSocket init

信息: JK: ajp13 listening on /0.0.0.0:8009

2011-11-18 20:27:37 org.apache.jk.server.JkMain start

信息: Jk running ID=0 time=0/31  config=null

2011-11-18 20:27:37 org.apache.catalina.startup.Catalina start

信息: Server startup in 6742 ms

 

解决方法:

在lib文件夹中加入javassist-3.11.0.GA.jar和commons-lang-2.5.jar这两个jar包

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值