《2022年java学习基础知识3.docx》由会员分享,可在线阅读,更多相关《2022年java学习基础知识3.docx(18页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -Struts相关拜访 Servlet API (拜访 request ,session ,application 作用域)1、使用 ActionContext 拜访/* /1、解耦方式实现跟 servlet交互* Mapsession=ActionContext.getContext * .getSession; session.putusername,user.getUsername;*/2 、耦合方式实现跟 servlet 交互HttpServletRequest request = ServletAct
2、ionContext.HttpSession session = request.getSession; session.setAttribute username , username ; 在页面中猎取 session 中的值getRequest ; 欢迎您, 在 action 中标签/1 、通过属性猎取表单内容/ 与login.jsp 中表单的名字相对应/ 假如有 setter 方法的属性,就可以从页面猎取相应的值(从JSP页面获取值)/ 假如有 getter 方法的属性,就可以在页面猎取相应属性的值(想 JSP页面发送值)private String username ; private
3、 String password ; public void setUsernameString username this . username = username; public void setPasswordString password this . password = password; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - / 测试 private String china ;
4、public String getChina return china ; 在 login.jsp中value =china.- 取的是 action中chinacountry1:country2: 2、类型转换3、数据校验方法 1 在相应的类型中直接验证1、public String login /*/ 数据校验方法 1在相应的类中直接验证ifnull=username|username.length=0 this.addFieldErrorusername, ifnull=password|password.length=0用户名不能为空 ;this.addFieldErrorpasswo
5、rd, 密码不能为空 ; / 相当于 request.setAttribute err , 添加失败 ifhasErrors假如在 fieldError中有错,就返回 fail 否就return fail;/执行其他else / 登录相关2、在相应界面输出信息/2.1输出全部错误把全部 fieldError中全部错误信息显示出来 - 第 2 页,共 11 页 .- 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - /2.2输出单个错误
6、=username .- 输出单个错误 username 信息方法 2 重写 validate方法实现验证调用 action 的任务方法时,validate 肯定会执行/ 数据校验方法 2重写 validate 方法实现验证Overridepublic void validate System. out .println if null =username | username .length=0 this .addFieldError username , 用户名不能为空 ; if null =password | password .length=0 this .addFieldError
7、 password , 密码不能为空 ; 2、在 struts.xml中添加跳转页面deptAction/ resultlogin.jsp /name= “ input ” 自定义或重写 validate方法会默认返回“input”login.jsp 3、在相应界面输出信息方法 3 自定义方法1、自定义方法会先加载(执行)/ 数据校验方法 3自定义方法(自定义方法会先加载)public void validateLogin System. out .println $ ; if null =password | password .length=0 this .addFieldError pa
8、ssword , 密码不能为空 ; 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -2、3、同上方法 4 使用验证框架实现验证1、2、3、在 action 目录下建相应的 actionname 相同的验证文件 UserAction-validation.xml 假如是 非空验证4、编写验证规章5、jsp 页面显示 4、拦截器与文件上传1、新建拦截器类 / 拦截器MyInterceptor.java Overr
9、idethrowspublic String interceptActionInvocation invocation Exception / 执行之前的操作细心整理归纳 精选学习资料 long previous=new Date.getTime; 第 4 页,共 11 页 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -System. out .printlnprevious; / 将恳求交给下一个操作String result=invocation.invo
10、ke; / long next =new Date.getTime; System. out .printlnnext; System. out .println 执行 Action 一共用时: ; System. out .printlnnext-previous; return result; 2、在 struts.xml 中配置拦截器2.1 配置并使用单个拦截器2.1.1 配置单个拦截器 2.1.2 2.2 配置并使用拦截器栈(多个拦截器) 第 5 页,共 11 页 - - - - - - - - - 细心整理归纳 精选学习资料 - - - - - - - - - - - - - - -
11、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - 3、在 xml 中想应的action 中使用拦截器deptActimethod =1resultname=successtype =redirectActiononlogin.jsplogin.jsp.- 使用单个拦截器 - 4、假如设置了登录验证的拦截器,那么可以在其他相应的 action 中,配置该拦截器,这样就能实现不登录就不能拜访该 action 4、文件上传及下载1、配置拦截器 / 2、jsp 页面name=uploadinputtype =file细心整理归纳 精选学习资料 - - - - -
12、- - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -下载文件 a href =downLoad.fileName=445.bmp 3、struts.xml 相关 下载文件 class =com.jbit.fsd.action.deptAction method =doUpload fileUpload success.jsp .- -fileUpload中(页application/octet-streaminputStreamattachment;filename=$fileName
13、40964、在 action 中添加相应的方法上传/* * 文件上传细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - - */private File upload ; / 与jsp 表单中的名字相同private String uploadContentType ; /File 对象属性名 +ContentTypeprivate String uploadFileName ; /File 对象属性名 +File
14、Name/ 文件上传路径 getter 方法中要返回肯定路径 private String savePath ; / 文件上传方法public String doUpload throws IOException / 接收上传文件储存路径字符串(肯定路径 +“/ ”+ String fileSavePath=getSavePath+ / +uploadFileName ; / 假如想上传到指定路径的文件夹可以自定义如 d:/String fileSavePath=d:+/+uploadFileName;/ 将上传过来的文件封装成输入流FileInputStream fis=new FileIn
15、putStreamupload ; / 将接收文件的字符串封装成输出流FileOutputStream fos= / 复制文件new FileOutputStreamfileSavePath; IOUtils. copy fis, fos; / 刷新操作 fos.flush; / 关闭资源 fis.close; fos.close; returnsuccess; /setter getter 方法留意这个 getSavePath 方法返回值需要设置public String getSavePath / 得到肯定路径(服务器中的肯定路径)returnServletActionContext.ge
16、tServletContext.getRealPathsavePath ; 下载/ 实现文件下载细心整理归纳 精选学习资料 private String fileName; ; 第 8 页,共 11 页 private InputStream inputStream - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -public String downLoad returnsuccess; /setter getter 方法留意这个方法public InputSt
17、ream getInputStream throws FileNotFoundException / 得到路径(返回的是输入流)returnnew BufferedInputStream /+fileName new FileInputStreamgetSavePath+; jQuery 常用插件北大青鸟 学习资料 Struts&AJAX5. 第 5 章-Struts 2 与 jQuery 综合应用 Part1jQuery 插件和easyUI 使用 Json与 jQuery 实现 Ajax 1、在 XMl 中设置 action 的返回数据假如只想返回部分属性,就需要将2、通过 jQuery 等
18、来实现 Ajax param 的 name 属性值设置为如图即可;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 11 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -Spring 相关1、写接口及实现类eg:publicclass UserServiceImpl implements UserService / 声明需要注入值的属性/ 不new对象,由 Spring 容器调用 set 方法赋值private UserDao userDao ; private
19、String name; 添加 setter getter 方法public List getAll / TODO Auto-generated method stubSystem. out .println name; return userDao .getAll; 2、创建 Xml 配置文件留意路径( src 下) srcapplicationContect.xml class 属性为 class =com.jbit.fsd.service.impl.Use .-也可以这样写 admin - 3、测试类ApplicationContext ac=new ClassPathXmlApplicationContextappli ; cationContect.xml; UserService us=UserService ac.getBeanuserServiceList list=us.getAll; System. out .printlnlist.get0;细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 11 页,共 11 页 - - - - - - - - -
限制150内