struts2


struts2配置步骤

1、创建web项目
2、导入jar包
        (1) asm-5.1.jar
       (2) asm-commons-5.1.jar
       (3) asm-tree-5.1.jar
       (4) commons-fileupload-1.3.2.jar
       (5) commons-io-2.4.jar
       (6) commons-lang3-3.4.jar
       (7) commons-logging-1.1.3.jar
       (8) freemarker-2.3.23.jar
       (9) javassist-3.20.0-GA.jar
       (10) log4j-api-2.7.jar
       (11) ognl-3.1.10.jar
       (12) struts2-core-2.5.5.jar

3、配置web.xml
      <web-app></web-app>中加入
     <filter>
          <filter-name>struts2</filter-name>
          <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class>
     </filter>
     <filter-mapping>
          <filter-name>struts2</filter-name>
          <url-pattern>/*</url-pattern>
     </filter-mapping>


4、在src目录下,创建struts.xml。内容如下:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
    "http://struts.apache.org/dtds/struts-2.5.dtd">
<struts>  
    <constant name="struts.action.extension" value="do,action" />
    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />

    <package name="Java1109Structs2" namespace="/" extends="struts-default">
        <action name="login" class="com.user.hello.Hello" method="test">  
            <result name="success">/succ.jsp</result>  
            <result name="error">/fail.jsp</result>  
        </action>      
    </package>  
</struts>
注意:配置package部分。name为项目逻辑名称,namespace为命名空间。
    配置action部分。login为View请求目录  class 为Java类实际请求目录 method 为请求方法
    配置result部分,name表示返回标识,/succ.jsp 表示返回页面

struts2中的constant配置:
(1)<constant name="struts.i18n.encoding" value="UTF-8"/>
        *指定web应用的默认编码集。可以设置GBK或者UTF-8等。
        相当于在HttpServletRequest中设置 setCharacterEncoding="UTF-8"

(2)<constant name="struts.objectFactory" value="spring"/>
        指定Struts2默认的ObjectFactoryBean,默认值就是spring。

(3)<constant name="struts.objectFactory.spring.autoWire" value="name"/>
        指定Spring框架自动装配模式,该属性值默认为name

(4)<constant name="struts.objectFactory.spring.useClassCache" value=""/>
        指定Spring框架是否需要缓存Bean实例。true,false。默认是true,不建议修改。

(5)<constant name="struts.multipart.parser" value="jakarta"/>
        该属性指定处理multipart/form-data的mime类型(文件上传)请求框架,
        这个属性支持 1、cos 2、pell 3、jakarta 表示分别对应使用cos文件上传框架
        pell上传以及commons-fileupload文件上传框架

(6)<constant name="struts.multipart.saveDir" value=""/>
        *该属性指定上传文件的临时保存路径,默认值是servlet底层临时存储位置。

(7)<constant name="struts.multipart.maxSize" value="">
        *该属性表示上传内容允许的最大字节数。

(8)<constant name="struts.action.extension" value="do,ppap">
        *该属性允许请求后缀修改,默认为action,多个请用逗号分隔

(9)<constant name="struts.serve.static" value=""/>
         该属性设置是否通过jar文件提供静态内容服务。默认为true。只有2个值,一个是false,一个true

(10)<constant name="struts.serve.static.browserCache" value="">
        *该属性设置是否允许在浏览器中静态缓存内容。true或者false。默认是true。

(11)<constant name="struts.devMode" value="false"/>
        *该属性设置是否使用开发模式,如果是开发模式,会显示完整的出错信息,
        只接收2个值,true和false,默认为false。

(12)<constant name="struts.i18n.reload" value="false"/>
        该属性表示在开发阶段,每次请求,国际化资源文件是否被重新加载。
false不是重新加载,true每次都重新加载。

(13)<constant name="struts.enable.DynamicMethodInvocation" value="false" />
        *该属性表示是否支持动态调用函数模块。默认为false。true表示不支持。
        such as <action name="*/*" method="{2}" class="actions.{1}">


5、创建java类与数据库连接
JDBC连接数据库:
package com.user.hello;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

public class UserBean {
	private String driver = "com.mysql.jdbc.Driver";
	private String url = "jdbc:mysql://localhost:3306/bobaoge?characterEncoding=UTF8";
	private String user = "root";
	private String pass = "1218610881";
	
	private Connection conn;
	private Statement stmt;
	private ResultSet rs;	
	public UserBean() throws Exception{
		Class.forName( driver );
		conn = DriverManager.getConnection( url , user, pass);
	}	
	public ResultSet UserQuery( String sql )
		throws Exception{
		stmt = conn.createStatement();
		rs = stmt.executeQuery( sql );
		return rs;
	}	
	public boolean UserUpdate( String sql ) throws Exception{
		stmt = conn.createStatement();
		int result = stmt.executeUpdate( sql );
		ConnClose();
		if( result <= 0 ){
			return false;
		}
		return true;
	}	
	public void ConnClose(){
		try{
			if( rs != null ){
				rs.close();
			}			
			if( stmt != null ){
				stmt.close();
			}			
			if( conn != null ){
				conn.close();
			}
		}catch(Exception e){
			e.printStackTrace();
		}
	}	
}

Java类:
    package com.user.hello;
    import javax.servlet.http.HttpServletRequest;
    import org.apache.struts2.ServletActionContext;
    import com.opensymphony.xwork2.ActionSupport;
    public class Hello extends ActionSupport{
        private static final long serialVersionUID = 1L;           //配置版本情况
        public String test(){                                     //自定义函数
            HttpServletRequest req = 
                    ServletActionContext.getRequest();
            if( req.getParameter("userPwd")
                    .equals("123456") ){
                return SUCCESS;
            }else{
                return ERROR;
            }
        }       
        public String execute(){                                //struts默认载入函数
            return null;
        }
    }



6、访问某个action,可以直接使用:  
  localhost:8080/项目名称/action名称.action
    如:localhost:8080/test/login.action

7.struts2 Exception。 
分为局部异常处理和全局异常处理。
局部异常表示的是 某个action内部出现异常。
全部异常表示整个应用出现的异常。
















7.struts2 Exception。 
分为局部异常处理和全局异常处理。
局部异常表示的是 某个action内部出现异常。
全部异常表示整个应用出现的异常。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值