1、Struts入门 相关配置及程序修改字体大小:wiondow-preferences-general-appearance-colors and fonts-java-java editor text font然后点change,在弹出的框里选字号,然后确定就可以了预备知识:环境搭建:1. 导入jar包2. 配置文件struts-config.xml和web.xml介绍 struts-config.xml: 灵活配置 web.xml: 注册Struts核心控制器ActionServlet struts-config.xml文件的位置配置servlet action org.apache.str
2、uts.action.ActionServlet config /WEB-INF/struts-config.xml跟初始化相关的。指向struts-config.xml思考:struts-config.xml可以改名吗? 0在服务一启动就实例化 action *.do 一、一个简单的Struts应用1.开发Form 建立一个类,继承ActionForm 在配置文件中注册该Form 2.开发Action 建立一个类,继承Action覆盖execute方法public ActionForward execute(ActionMapping mapping, ActionForm form, Ht
3、tpServletRequest request, HttpServletResponse response) throws Exception LoginForm loginForm=(LoginForm)form; if(loginForm.getUsername().equals(mary) return mapping.findForward(loginSuccess); else return mapping.findForward(loginFailure); 在配置文件中注册该Action 3.JSP文件Login.jsp form action=/login.do method
4、=post username: password: request.getContextPath()获取系统路径LoginFailure.jspexecute方法:第一步:强制转型为ActionForm子类第二步:业务逻辑处理第三步:跳转几次读取配置文件?如果配置文件里没有这个Action? 试一试会怎样?将action-mapping内容删掉,看看错误。将action标签中的loginform去掉,报错误:空指针带的form为空将action标签中的loginForm写错报错误:空指针带错了。改写execute方法: public ActionForward execute(ActionMa
5、pping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception LoginForm loginForm=(LoginForm)form; String forwardkeywords = ; if(loginForm.getUsername().equals(mary) forwardkeywords = loginSuccess; else forwardkeywords = loginFailure; return mapping.findF
6、orward(forwardkeywords); 将action标签中的loginForm去掉,将execute中的业务逻辑处理去掉,没有报异常,因此可以但是关键字为空,在配置文件中找不到,因此什么也不显示将jsp文件中name改为username1报nullpointerexception测试:在execute方法中在第二句写上System.out.println(loginForm);思考:1. 谁来填充Form?什么时候填充?根据什么填充?2. ActionServlet怎样把请求派发给Action?3. Action运行完后怎样跳转?使用Struts增加学生1. 配置Struts环境2
7、. addStudentForm(extends ActionForm): sId, sname, major,birth,score3. addStudentAction(extends Action)覆盖execute方法IStudentDAO,studentDAOaddStudent(addSutdentForm studentForm)4. jsp页面:addStudent.jsp addStudentSuccess.jsp addStudentFailure.jsp5. ActionForm描述:第一步:第二步:修改配置文件第三步:创建AddStudentAction类并修改stru
8、ts配置文件。失败返回初始页面第四步:创建接口DAO第五步:写execute方法Execute方法第六步:写DAO类此时可以先测试通不通?此处不全struts工作原理1. 初始化struts框架总控制器,需要读取struts-config.xml2. 等待客户发出http请求,.do的请求就可以3. 填充FormBean4. 将请求转换到具体Action处理5. 调用后台业务功能类完成商业或业务逻辑。不论如何调用,最终还是回到Action第五步跟Struts没什么关系6. 回到ActionServlet,返回目标响应对象7. 转换http请求到目标响应对象,即找到相应的jsp文件8. http
9、响应,显示在客户端总结这八步:什么时候读取配置文件struts-config.xml? 启动的时候请求先进入服务器,.do的请求才进struts控制器。填充form就是将一个对象的成员变量放置对应的值。首先要构建一个对象实例化,实例化后就进行填充数据,最后还保存。目的是将form传给action用。填充数据时数据来自用户提交的表单数据。根据什么去找action?struts-config.xml的action标签注意是将结果展现给用户JSP不是在客户端运行的配置文件的作用:把这些常用控件组合在一起form-bean是否类似于变量的定义?如果配置文件中action标签的path写为”login.do”则报错
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1