struts练习1,建立第一个struts项目,RequestProcessor类,PlugIn,error

Struts练习

1.主要内容:
   1.在项目中如何用struts
   2.重写RequestProcessor类的processPreprocess(rq,res)方法
   3.如何实现插件PlugIn
   4.读属性文件//在MyPlugIn里用到
   5.错误信息

   6.RequestProcessor类和plugIn   示例项目struts02
     错误信息   示例项目struts_error

2.详细实现(RequestProcessor类和plugIn示例在struts02下)

导入struts资源,并自动生成一些东西

   2. struts实现登录
      1.在src加入service包(里面加入1个类(LoginService),实现登录验证) 

LoginForm类


      2.在action包下LoginAction内

LoginAction内的方法

      3.以上就完成了,现在部署,并在页面上输入路径访问  http://localhost:9090/struts02/login.jsp

   3. 加MyRequestProcessor类(在action包下加,并继承RequestProcessor类)
        1.在此类中重写processPreprocess(rq,res)方法

重写processPreprocess方法

      2.在struts-config里 <controller processorClass="action.MyRequestProcessor"></controller>

   4.PlugIn的练习
      1.新建一类MyPlugIn(在action包下,实现PlugIn接口) 写一个属性,和在init方法里,把data放入application

MyPlugIn类

      2.在struts-config.xml里新加plug-in节点(注意顺序,一定要是在message-resources节点后)     

plug-in节点

      3.然后,在页面里就可以得到值:${applicationScope.data}

      4.值保存到属性文件
          1.struts-config.xml->plug-in节点下set-property的value设为"ApplicationResources.properties"
          2.在ApplicationResources.properties 写tip1=This is default value
          3.在action里加一个类Env,是一个通用类,专门用来读属性文件的(可以直接拷就可以了)
          4.在MyPlugIn的init方法里
             Env env=Env.getInstance(data);
            arg0.getServletContext().setAttribute("pro", env);
              //把env对象保存到application里,比如:以后在页面去值${applicationScope.env.tip1}
                其中,data是MyPlugIn里的属性
          5.在页面success.jsp页面加${applicationScope.env.tip1},运行看效果

3.这次犯的小错误
   1.processPreprocess书写 浪费了时间(浪费时间:15分钟)
   2.正确写法:${applicationScope.data}(正确) 错误写法:${application.data}(浪费时间:30分钟,郁闷)
4.error的运用(示例项目struts_error)
   1.error可以放在3个地方
      1.放在LoginForm的validate方法里

Errors放在ActionForm里

      2.可以放在LoginAction中

Error放在LoginAction中

        3.在LoginAction里做异常处理的时候用(与2相同)
               此段代码 说明了在业务逻辑出错的时候,如何用errors保存

Error放在trycatch中

5.总结:
   1.RequestProcessor类的processPreprocess(rq,res)作用:
      1.目的:在进入LoginAction之前,可以做些控制  //详细还待查资料
   2. MyPlugIn extends PlugIn 作用:
       1.流程:在Tomcat第一次启动的时候,通过struts-config里<plug-in>节点,
              然后在MyPlugIn的init方法里,把data放进application里,
              其中,在<plug-in>节点配置的时候,data属性的value值,可以使*.properties文件
   3.error 在页面有<html:errors property="password"/>
        1.流程:把ActionError存到ActionErrors里,然后保存到request里,
                   然后在页面用request.getAttribute("password")取值
         
6.代码   代码下载

你可能感兴趣的:(request)