当前位置:首页 » 数据仓库 » struts怎么配置
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

struts怎么配置

发布时间: 2022-03-03 10:13:35

① struts2中该如何配置

你这个是struts1的配置方法吧,struts2要在struts.xml里配
在struts.xml里配这样的:
<package name="example(包名,随便取)" namespace="/example(包路径)" extends="struts-default">
<action name="Registration_*" method="" class="类路径">
<result name="input">/Registration.jsp</result>
</action>
</package>

② eclipse怎么配置struts

eclipse配置成struts2的方法:

1、通过菜单新建项目,打开如下画面,选择建立动态项目

③ struts2配置action一般是怎么配置的

这要看实际需求 没有统一的 你可以使用通配符 ,不建议使用 ,因为不好理解 如果出错也不好找(我老师建议的) 你找本书看看 孙鑫的

④ struts的配置问题

struts框架 主要是负责MVC模式中的 View(视图,可以理解为JSP页面) 学习struts就是为了防止在JSP中写<% %>这样的代码,让JSP充当显示功能,至于调用业务逻辑 就是struts完成,也就是 解耦合。把不同能功能的类(负责插入,负责更新,负责删除的) 通过配置文件粘合起来。这样在企业开发中分工明确,开发效率高。

⑤ Struts2开发环境如何配置

你网络搜一下 浪曦 里面的struts2课程比较全,应该有环境配置教程

⑥ struts配置

web.xml 里定义struts的actionServlet,还要定义一些参数,如
<servlet>
<servlet-name>actionServlet</servlet-name>
<servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
<init-param>
<param-name>config</param-name>
<param-value>/WEB-INF/struts-config.xml</param-value>
</init-param>
<init-param>
<param-name>debug</param-name>
<param-value>3</param-value>
</init-param>
<init-param>
<param-name>detail</param-name>
<param-value>3</param-value>
</init-param>
<load-on-startup>0</load-on-startup>
</servlet>

⑦ struts2 的struts.xml文件怎么配置

<!-- include节点是struts2中组件化的方式 可以将每个功能模块独立到一个xml配置文件中 然后用include节点引用 -->
<include file="struts-default.xml"></include>

<!-- package提供了将多个Action组织为一个模块的方式
package的名字必须是唯一的 package可以扩展 当一个package扩展自
另一个package时该package会在本身配置的基础上加入扩展的package
的配置 父package必须在子package前配置
name:package名称
extends:继承的父package名称
abstract:设置package的属性为抽象的 抽象的package不能定义action 值true:false
namespace:定义package命名空间 该命名空间影响到url的地址,例如此命名空间为/test那么访问是的地址为http://localhost:8080/struts2/test/XX.action
-->
<package name="com.kay.struts2" extends="struts-default" namespace="/test">
<interceptors>
<!-- 定义拦截器
name:拦截器名称
class:拦截器类路径
-->
<interceptor name="timer" class="com.kay.timer"></interceptor>
<interceptor name="logger" class="com.kay.logger"></interceptor>
<!-- 定义拦截器栈 -->
<interceptor-stack name="mystack">
<interceptor-ref name="timer"></interceptor-ref>
<interceptor-ref name="logger"></interceptor-ref>
</interceptor-stack>
</interceptors>

<!-- 定义默认的拦截器 每个Action都会自动引用
如果Action中引用了其它的拦截器 默认的拦截器将无效 -->
<default-interceptor-ref name="mystack"></default-interceptor-ref>

<!-- 全局results配置 -->
<global-results>
<result name="input">/error.jsp</result>
</global-results>

<!-- Action配置 一个Action可以被多次映射(只要action配置中的name不同)
name:action名称
class: 对应的类的路径
method: 调用Action中的方法名
-->
<action name="hello" class="com.kay.struts2.Action.LoginAction">
<!-- 引用拦截器
name:拦截器名称或拦截器栈名称
-->
<interceptor-ref name="timer"></interceptor-ref>

<!-- 节点配置
name : result名称 和Action中返回的值相同
type : result类型 不写则选用superpackage的type struts-default.xml中的默认为dispatcher
-->
<result name="success" type="dispatcher">/talk.jsp</result>
<!-- 参数设置
name:对应Action中的get/set方法
-->
<param name="url">http://www.sina.com</param>
</action>
</package>

⑧ Eclipse怎样配置struts2

Eclipse配置struts2开发环境:
1:在struts官网下载Struts2的最新版即下载Full Distribution,这是Struts2的完整版
2:解压下载的压缩包。在struts-2.3.14.3 -> lib路径下拷贝出上图所示的8个jar包,放入java工程下的lib目录内。
3:在web.xml配置文件中,配置Struts2的核心Filter。代码如下:
<span style="white-space:pre"> </span><span style="color:#3366ff;"><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></span>
4、为了让Struts运行起来,在src目录下创建Struts.xml配置文件。代码如下:
<span style="color:#3366ff;"><?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="test" extends="struts-default">
<action name="login" class="com.rankexam.control.LoginAction">
<!-- 定义三个逻辑视图和物理资源之间的映射 -->
<result name="input">/Login.jsp</result>
<result name="error">/Error.jsp</result>
<result name="success">/Welcome.jsp</result>
</action>
</package>
</struts></span>
5、创建处理用户请求的Action类,该类继承于ActionSupport类。代码如下:
<span style="color:#3366ff;">package com.rankexam.control;
import javax.servlet.http.HttpServletRequest;
import org.apache.struts2.ServletActionContext;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

public class LoginAction extends ActionSupport{
/**
* 默认版本序列号
*/
private static final long serialVersionUID = 1L;

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 {
if(getUsername().equals("") && getPassword().equals("")){
ActionContext.getContext().getSession().put("user", getUsername());
return "success";
}else{
return "error";
}
}
}</span>

⑨ struts的配置 paramsPrepareParamsStack

struts-default.xml中定义了一系列的拦截器和拦截器链

同时也定义了一个默认的拦截器defaultStack,一旦定义了默认的拦截器,

该拦截器就会对包中的所有的Action起作用,当然如果你的Action中显式地定义了拦截器,

默认拦截器就会失去作用,如果想不让他失去作用,

也必须显式地定义系统默认的拦截器。
</interceptors>

<default-interceptor-ref name="defaultStack"/>

<default-class-ref class="com.opensymphony.xwork2.ActionSupport"/>
</package>

“defaultStack”和“paramsPrepareParamsStack”拦截器栈都提供了拦截器大部分功能

只是拦截顺序不一样。一般情况下会使用前者,但是某些涉及参数传递和取值的问题

例如实现了ModelDriven接口的某些时候,使用后者,就不用自己再额外编写拦截器类了
defaultStack
<interceptor-stack name="defaultStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="debugging"/>
<interceptor-ref name="scopedModelDriven"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>

paramsPrepareParamsStack
<interceptor-stack name="paramsPrepareParamsStack">
<interceptor-ref name="exception"/>
<interceptor-ref name="alias"/>
<interceptor-ref name="i18n"/>
<interceptor-ref name="checkbox"/>
<interceptor-ref name="multiselect"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="servletConfig"/>
<interceptor-ref name="prepare"/>
<interceptor-ref name="chain"/>
<interceptor-ref name="modelDriven"/>
<interceptor-ref name="fileUpload"/>
<interceptor-ref name="staticParams"/>
<interceptor-ref name="actionMappingParams"/>
<interceptor-ref name="params">
<param name="excludeParams">dojo\..*,^struts\..*</param>
</interceptor-ref>
<interceptor-ref name="conversionError"/>
<interceptor-ref name="validation">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
<interceptor-ref name="workflow">
<param name="excludeMethods">input,back,cancel,browse</param>
</interceptor-ref>
</interceptor-stack>

defaultStack无法接收prepare()需要的数据,而应借助paramsPrepareParamsStack拦截器栈

使用prepare拦截器之前,应先调用params拦截器,prepare() 才能接收到表单数据

基于这个思路,可以通过各种手段将params拦截器放置在prepare拦截器之前即可

比如将defaultStack中的所有拦截器拷贝到struts.xml的我们自定义的myStack拦截器栈中

再按照paramsPrepareParamsStack拦截器栈中的params和prepare顺序修改二者位置即可

⑩ 如何配置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是struts2配置文件的根元素 -->
<struts>

<!-- 会员管理 -->
<package name="user" extends="zqzj-default" namespace="/user">
<action name="user" class="userManageAction" method="user">
<result>/WEB-INF/pages/user/user.jsp</result>
</action>
</package>
</struts>

这就是一个Struts2.xml的例子。
<package 里的name名字随便起,但是不能和其他的package的name重复。namespace可不写,写了之后访问路径:项目名+namespace名字+jsp页面名
<action name也是随便起,不过习惯上是和action里你要请求的方法一致,class是action类的全类名路径,我这个SSH框架的所以不用全路径。
<result 是返回类型,里面有type属性,默认是请求转发,name默认是success