下面是关于Java中Struts配置的详细攻略。
Struts框架的基本介绍
Apache Struts是一个基于Java EE的Web应用程序开发框架,它采用了Model-View-Controller(MVC)的架构模式,并通过多种标准技术来实现Web应用的开发,如Java Servlet、JavaBean、XML、JSP和Java的反射机制等。Struts框架的开发主要涉及Struts配置文件的编写,其中最基本的配置文件就是struts-config.xml。这个配置文件中主要包含一个或多个action元素,每个action元素通常会对应到应用中的一个页面或一个请求,并指定一组处理此请求的类和方法。
Struts框架的环境准备
首先,我们需要在本地机器上安装好Java开发环境和Apache Tomcat服务器环境,这里我们以Tomcat作为Web容器。其次,下面是一些必要的Struts框架的jar包:
- struts.jar
- struts-el.jar
- commons-beanutils.jar
- commons-digester.jar
- commons-collections.jar
- commons-chain.jar
- xwork-core.jar
- ognl.jar
- freemarker.jar
在项目中增加这些jar包依赖:
<dependency>
<groupId>org.apache.struts</groupId>
<artifactId>struts-core</artifactId>
<version>1.3.8</version>
</dependency>
其中,1.3.8是Struts框架的版本号。
配置struts-config.xml
下面是一个简单的Struts配置文件示例:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"
"http://struts.apache.org/dtds/struts-config_1_3.dtd">
<struts-config>
<form-beans>
<form-bean name="loginForm" type="com.example.struts.action.LoginActionForm"/>
</form-beans>
<global-exceptions>
<exception
key="error.db.exception"
type="java.sql.SQLException"
path="/error/error.jsp"/>
<exception
key="error.generic.exception"
type="java.lang.Exception"
path="/error/error.jsp"/>
</global-exceptions>
<action-mappings>
<action
path="/login"
name="loginForm"
type="com.example.struts.action.LoginAction"
validate="true"
input="/login.jsp"
scope="request">
<forward name="success" path="/welcome.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
</action-mappings>
</struts-config>
在这个配置文件中,我们定义了一个名为“login”的action,定义了一个名为“loginForm”的formBean,也定义了几个全局异常。当名字为“login”的请求被发送时,它会跳转至类com.example.struts.action.LoginAction,并在LoginForm中进行输入验证,验证成功将跳转至/welcome.jsp,否则跳转至/login.jsp。
下面是另一个简单的示例:
<action
name="loginForm"
path="/login"
scope="request"
validate="true"
input="/login.jsp"
type="com.example.struts.LoginAction"
parameter="execute">
<forward name="success" path="/welcome.jsp" />
<forward name="failure" path="/login.jsp"/>
</action>
该示例也是定一个名为“login”的action,它将请求发送到loginForm实例上,并对用户输入进行验证。如果验证成功,则跳转至/welcome.jsp;如果验证失败,则返回/login.jsp
配置Action类
在Struts中,Action类是用来处理请求的具体实现,它通常继承org.apache.struts.action.Action,并实现execute方法。
下面是一个简单的Action类:
package com.example.struts.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.example.struts.actionform.LoginActionForm;
public class LoginAction extends org.apache.struts.action.Action{
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {
LoginActionForm loginForm = (LoginActionForm) form;
String username = loginForm.getUsername();
String password = loginForm.getPassword();
if ("admin".equals(username) && "password".equals(password)) {
return mapping.findForward("success");
} else {
return mapping.findForward("failure");
}
}
}
该简单示例中,我们对用户输入进行了简单的检查,若用户名为“admin”,密码为“password”,则跳转至“success”,否则跳转至“failure”。
另一个简单的示例:
package com.example.struts;
import com.opensymphony.xwork2.ActionSupport;
public class LoginAction extends ActionSupport{
private String username;
private String password;
public String execute(){
if("admin".equals(username) && "password".equals(password)){
return SUCCESS;
}else{
return ERROR;
}
}
public void setUsername(String username){
this.username = username;
}
public void setPassword(String password){
this.password = password;
}
public String getUsername(){
return username;
}
public String getPassword(){
return password;
}
}
结论
这就是关于Java中Struts配置的详细攻略,希望对你有帮助。在实际应用中,我们可能需要根据具体需求进行更加复杂的配置。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java中struts配置 - Python技术站