struts第三篇:第一个struts程序

         应用struts写程序,首先要搭建struts环境。

         搭建struts环境的步骤:

         1.首先要把struts打包好的jar包拷贝到WEB-INF\lib文件夹下。

         2.在web.xml文件中配置actionservlet。在struts的bin\webapps文件夹下有struts-blank项目。其中的web.xml文件是标准配置。

  <!-- Standard Action Servlet Configuration (with debugging) -->
  <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>2</param-value>
    </init-param>
    <init-param>
      <param-name>detail</param-name>
      <param-value>2</param-value>
    </init-param>
    <load-on-startup>2</load-on-startup>
  </servlet>


  <!-- Standard Action Servlet Mapping -->
  <servlet-mapping>
    <servlet-name>action</servlet-name>
    <url-pattern>*.do</url-pattern>
  </servlet-mapping>

3.将标准的struts-config.xml文件拷贝到WEB-INF下,配置相关的标签。

<struts-config>
	<form-beans>
		<form-bean name="loginForm" type="com.tgb.struts.LoginActionForm"/>
	</form-beans>
	
	<action-mappings>
		<action path="/login"
				type="com.tgb.struts.LoginAction"
				name="loginForm"
				scope="request"
				>
			<forward name="success" path="/login_success.jsp"/>
			<forward name="error" path="/login_error.jsp"/>
		</action>
	</action-mappings>
</struts-config>

         form-beans标签中配置的为actionform,action-mappings标签中配置的为action信息。Struts的中心控制器就是通过读取这些配置文件,来创建actionform和相应的action的。Forward标签为相应的转向信息,action的execute方法返回的为ActionForward信息,forward标签就是配置的就是其转向的相关信息。

第一个struts程序代码

         Login.jsp中代码:

<body>
   <form action="login.do"method="post">
      用户名:<input type="text" name="username"/><br/>
      密     码:<input type="password" name="password"/><br/>
      <input type="submit" value="登录"/>
   </form>
</body>

   LoginAction中代码:

	public class LoginAction extends Action {

	public ActionForward execute(ActionMapping mapping, ActionForm form,
			HttpServletRequest request, HttpServletResponse response)
			throws Exception {
		//相当于实体actionform
		LoginActionForm laf = (LoginActionForm)form;
		
		String username = laf.getUsername();
		String password = laf.getPassword();
		
		UserManager userManager = new UserManager();
		try{
			userManager.login(username, password);
			return mapping.findForward("success");
		}catch(UserNotFoundException e){
			e.printStackTrace();
			request.setAttribute("msg", "user can't be found,username=["+ username +"]");
		}catch(PassWordErrorException e){
			e.printStackTrace();
			request.setAttribute("msg", "password error");
		}
		return mapping.findForward("error");
	}
}


         在利用struts开发程序的时候,就省去了servlet,是因为servlet已经被封装了起来,我们只需要按照它规定的格式去配置struts-config.xml文件,struts中的servlet就会读取这个配置文件来实例化不同的类。这样为我们开发省去了很多时间,也实现了灵活配置。



评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值