工具:Myeclipse
项目右键--Myeclipse--addStruts 此次选择为struts1.3,其余为默认,确定即可完成。
可以查看web.xml,已经自动配置好struts的servlet,struts-config文件已经生成。
我的web.xml文件配置
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.5" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<servlet>
<servlet-name>action</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>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
试验struts1,使用一个登录页面来验证
页面的代码如下:
<form action="<%=basePath %>/login.do" method="post" >
userName:<input id="userName" name="userName" type="text" /><br>
passWord:<input id="passWord" name="passWord" type="password" /><br>
<input type="submit" id="submit" name="submit" value="submit" />
</form>
按照此页面的action,对struts-config文件进行配置,如下:
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <struts-config>
<action-mappings>
<action path="/login"
type="com.lanp.webapp.action.LoginAction" name="loginActionForm" scope="request">
<!--name属性:指定和当前Acion关联的ActionForm Bean的名字。该名称必须在form-bean元素中定义过。 -->
<!-- scope:指定ActionForm Bean的存在范围,可选值为request和session。默认为session -->
<!-- type 指定Action类的完整类名 -->
<forward name="success" path="/success.jsp" />
<forward name="error" path="/error.jsp" /> </action>
</action-mappings>
</struts-config>
完成后编写后台代码,新建类继承Action类,覆盖execute()方法,在此方法中获取页面的值,再进行判断。
如下:
package com.lanp.webapp.action;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import com.lanp.webapp.form.LoginActionForm;
public class LoginAction extends Action {
@Override
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
String userName = request.getParameter("userName ");
String passWord = request.getParameter("passWord ");
if(null != userName && "admin".equals(userName) && null != passWord && "admin".equals(passWord)) {
path = "success";
request.setAttribute("userName", userName);
} else {
path = "error";
}
//相对于struts2,就是返回的result,也就是forword要指向的页面
return mapping.findForward(path);
}
}
结束。
使用Myeclipse的好处就是常用的jar可以直接加上,根据网上的教程自己测试一遍,跑通了记录。
一开始就是使用struts2,再用struts1感觉很像,又有些地方不像,自己搭建一遍,更有感触。
网友评论