struts2.3整合

来源:互联网 发布:fs软件 编辑:程序博客网 时间:2024/06/05 16:46

第一次写,刚好公司项目需要用到struts2.3,就在这里做个记录吧。

首先,先将sturts2 整合进去。将以下jar包拷贝到 项目目录/WEB-INF/lib下。

需要的jar包有:

 

虽说struts2只需要5个jar包,但是在调试运行项目的时候,

如果缺少了commons-lang3-3.1.jar,就会报java.lang.ClassNotFoundException: org.apache.commons.lang3.StringUtils错误。

如果缺少了javassist-3.11.0.GA.jar,就会报java.lang.ClassNotFoundException: javassist.ClassPool错误。

但是,奇怪的是,在项目运行成功后,再将这两个jar包删除,再运行项目,竟然不报错了,真是怪哉,难道是我刚开始导入了struts2-spring-plugin-2.3.7.jar的缘故?

有知道什么原因的同学可以留言说明一下哈。

引完jar包后,再写个action,页面测试一下。

首先,在web.xml中引入struts2拦截。

代码如下:

<?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">  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>    <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>

再写个action,需要继承ActionSupport.

public class LoginAction extends ActionSupport {private String userName;private String passWord;public String execute(){if(userName.equals("tommy")&&passWord.equals("666666")){return "success";}else {return "error";}}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;}}

jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%><%@taglib prefix="s" uri="/struts-tags" %><%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>    <s:form action="login">    <s:textfield name="userName" label="用户名" key="user"></s:textfield>    <s:textfield name="passWord" label="密码" key="password"></s:textfield>    <s:submit key="login" value="提交"></s:submit>    </s:form>  </body></html>


还有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>     <!-- struts的action配置文件 -->          <package name="tommy" extends="struts-default">     <action name="login" class="com.user.LoginAction">     <result name="success">/user/success.jsp</result>     <result name="error">/user/error.jsp</result>     </action>     </package>  </struts>


最后,写个success.jsp和error.jsp跳转。测试,struts2整合成功。