Struts入门(一)
因为最近开始要做一个小项目,涉及到服务器搭建,本人小白一个,也只能一步步慢慢来,学习的同时也喝大家分享我的学习经验。今天是第一天学习struts,总结不到位的地方还请前辈们多多指教。
我们以最快的方式搭建struts环境。
第一步:新建一个web工程,写一个jsp注册页面,把请求交给 struts处理:
在body标签中添加如下代码:
<form action="${pageContext.request.contextPath }/Register.do" method="post"> 用户名:<input type="text" name="username"><br/> 密码:<input type="password" name="password"><br/> 邮箱:<input type="text" name="email"><br/> <input type="submit" value="注册"> </form>
第二步:导入struts开发包(jar包有很多个,待会我把原码贴上去,里面有),并在web.xml文件配置struts(ActionServlet)处理所有.do请求,具体如下:
<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> <load-on-startup>2</load-on-startup> </servlet>
还有这个:(把所有的ActionServlet映射到后缀为噢.do上,这样ActionServlet就能处理所有后缀名为.do的请求):
<servlet-mapping> <servlet-name>ActionServlet</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping>
第三步:在web-inf目录中加入struts的配置文件:struts-config.xml,并配置struts收到请求后找RegisterAction处理,并配置在找RegisterAction处理请求之前,把数据封装到formbean中(struts市可以自动把数据文件映射到bean文件中的,这点很方便,但是前提是映射过程中属性名和bean中的字段名要一致)
<?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="UserFormBean" type="cn.itcast.web.formbean.UserFormbean"></form-bean> </form-beans> <!-- 配置struts收到请求后找一个action处理 --> <action-mappings> <action path="/Register" type="cn.itcast.web.action.RegisterAction" name="UserFormBean"></action> </action-mappings> </struts-config>
第四步:接下来就是写RegisterAction类了,以前我们写的时候都是写的时servlet,但是在struts中,我们写的是action,让registerAction集成Action,然后我们就能在里面像写servlet一样写东西了,前面讲的直接把属性放到bean里面去这里要用上啦:
UserFormbean bean = (UserFormbean) form;
System.out.println(bean.getUsername());
System.out.println(bean.getPassword());
System.out.println(bean.getEmail());
try{
System.out.println("向数据注册用户!!");
request.setAttribute("message", "注册成功");
request.getRequestDispatcher("/message.jsp").forward(request, response);
}catch (Exception e) {
request.setAttribute("message", "注册失败");
request.getRequestDispatcher("/message.jsp").forward(request, response);
}
return null;
这个userBean当然就是我们注册的bean啦:注册要用啥字段就写上属性,声称get和set方法,就哦啦。记住,这个可是和上面的struts-config.xml对应哦,其实应该先写action和bean才知道struts-config.xml怎么写的,不过无所谓,因为很简单,一下子能看懂啦,快去试试吧。
希望大大多多支持,我会在学习的同时一直更新我的笔记,希望对和我一样的小白有用。