首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

原创:第一节:struts1的环境筹建及注册案例开发

2012-09-05 
原创:第一节:struts1的环境搭建及注册案例开发很久没有使用过struts1了,今天又一次接触到了struts1,闲来之

原创:第一节:struts1的环境搭建及注册案例开发

    很久没有使用过struts1了,今天又一次接触到了struts1,闲来之余,把自己的授课记录发表供大家学习参考,大家都知道  struts是开源软件。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。那么在这一节中我们就来学习struts1的入门知识,我们主要通过环境搭建到用户注册的案例来了解struts1的处理流程等知识点。通过struts1.3.8完成简单用户注册的案例及环境搭建1、搭建struts1的开发环境      a、创建web项目      b、添加struts1类库文件:此类库文件在官方网站下载后解压后存放在lib目录下面,直接把此文件赋值粘贴到webRoot/WEB-INF/lib目录中.      c、由于struts1的请求处理时基于servlet完成,所以要在web容器中添加servlet配置,即在web.xml文件中添加代码现将: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><!-- 添加struts请求处理的ActionServlet配置 通过此配置解析struts-config.xml文件 --><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><!-- 配置struts请求处理的URL方式 默认是后缀为.do的请求 --><url-pattern>*.do</url-pattern></servlet-mapping><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list></web-app>      d、添加struts1的默认配置文件 此配置文件位于WEB-INF/下面 默认的名称为struts-config.xml文件 代码如下:     <?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><!-- formbean的映射的配置 --><form-beans/><!-- 映射全局的异常处理配置 --><global-exceptions /><!-- 映射全局的跳转处理配置 --><global-forwards /><!-- action的映射的配置 --><action-mappings/><!-- 映射资源文件 --><message-resources parameter="com.yourcompany.struts.ApplicationResources" /></struts-config>2、创建register.jsp注册页面 代码如下:    <form action="${pageContext.request.contextPath}/Register.do" method="post">      用户名:<input type="text" name="username"/><br/>      密码:<input type="password" name="userpass"/><br/>      邮箱:<input type="text" name="useremail"/><br/>      <input type="submit" value="注册"/>   </form>3、在配置文件中添加相应的action处理及ActionForm配置代码如下:    <?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><!-- formbean的映射的配置 --><form-beans><!--name指明ActionForm的名称 此名称与action中相应处理的Action中的name一致type指明ActionForm处理的类--><form-bean name="userForm" type="cn.csdn.web.formbean.UserForm"></form-bean></form-beans><!-- 映射全局的异常处理配置 --><global-exceptions /><!-- 映射全局的跳转处理配置 --><global-forwards /><!-- action的映射的配置 --><action-mappings><!--path指明请求的URL地址,type指明此action处理的Action类型 name指明的是请求参数封装的ActionForm的名称--><action path="/Register" type="cn.csdn.web.action.RegisterAction"name="userForm"><!-- forward name指明名称 path指明跳转的路径 --><forward name="message" path="/message.jsp"></forward></action></action-mappings><!-- 映射资源文件 --><message-resources parameter="com.yourcompany.struts.ApplicationResources" /></struts-config>4、创建相应的ActionForm与Action:   ActionForm代码如下:    package cn.csdn.web.formbean;import org.apache.struts.action.ActionForm;/**此Form要继承struts1作者写好的ActionForm处理类*/public class UserForm extends ActionForm {/** * 封装用户提交的参数信息,此属性名称一定要与jsp视图中  * 表单提交的参数名称一致 */private String username;private String userpass;private String useremail;        /**以下省略了相应的set get方法 通过set方法把视图的值注入到ActionForm对应的参数中**/        ........   Action代码如下:    package cn.csdn.web.action;import javax.servlet.http.*;import org.apache.struts.action.*;import cn.csdn.web.formbean.UserForm;/** 此Action要继承struts1作者写好的Action类型 */public class RegisterAction extends Action {/** Action处理的方法 */public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest request, HttpServletResponse response)throws Exception {/** 获取ActonForm封装的请求对象 */UserForm userForm = (UserForm) form;/** 打印输出信息 ---观察效果 */System.out.println("用户名称:" + userForm.getUsername() + " 用户密码:"+ userForm.getUserpass() + "   用户邮箱:"+ userForm.getUseremail());try {System.out.println("向数据库发送数据处理.....");/** 向request中存入message信息 */request.setAttribute("message", "用户注册成功!!!");} catch (Exception ex) {ex.printStackTrace();request.setAttribute("message", "用户注册失败!!!");}/** 获取跳转的地址并返回ActionForward */return mapping.findForward("message");}}5、创建相应的message.jsp试图界面。6、发布并运行此项目及可看到结果。以上内容归redarmy_chen原创,版权归redarmy_chen所有不得随意转载,如有问题请发送邮件到redarmy_chen@qq.com

热点排行