Java框架Struts2之初体验(一)
来源:互联网 发布:西安seo服务 编辑:程序博客网 时间:2024/05/18 13:48
写在前面的日记
离大三开学有一段时间了,在学校的日子也快结束了。学校在大三开设的课程为JAVA框架,对于我这种已经打算从事PHP行业的小菜鸟来说本来不打算学的。今天在机房上课的时候突然想到一位前辈说的话,大概的意思就是程序员应该学习更多的语言来扩展自己的思维和眼界。仅仅局限于某种语言是不可取的。因此决定在学习PHP之余重拾Java,好好学习Java思想。争取明年能熟练运用java进行项目开发。
Java框架Struts2之初体验(一)
Struts2是一种基于MVC的Java框架,老师说挺多人用的,至于现在还有没有人用我也不清楚,也没去了解过。由于是基于我所熟悉的MVC模式,了解了一下流程就很快能上手了。以下为一个简单的登陆例子,只为记录自己所学。
Model 模型
新建一个LoginService类,不需要继承或实现任何父类或接口
模拟一下登陆流程,不操作数据库。
package cc.ccyou;public class LoginService { public boolean login(String username, String password){ if(username.equals("admin") && password.equals("123456")){ return true; } return false; }}
一个非常简单的模型,为了走流程而诞生 [笑哭]
Controller 控制器
定义Action类,调用业务逻辑,返回结果视图,不需要继承或实现任何父类或接口,只需要遵守某些命名规范即可:如果该Action类是通过表单提交调用,且Action类需要使用表单提交的请求参数,那么必须在Action类中声明与表单域的名字对应的变量,并为变量提供getters/setters方法; Action类中必须有一个public String execute(){}形式的方法,该方法将在访问Action时被Struts2框架自动调用,实现控制逻辑。
package cc.ccyou;public class LoginAction { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } public String execute(){ LoginService ls = new LoginService(); if(ls.login(username, password)){ return "success"; } return "fail"; }}
由Action类中execute方法返回的字符串需要到struts.xml中配置
struts.xml的配置
配置很简单,正确书写package内的action标签即可。其中result的name分别为execute方法所返回的字符串,值则对应的跳转页面。
<?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"><struts> <package name="cc.ccyou" extends="struts-default"> <action name="Login" class="cc.ccyou.LoginAction"> <result name="success">/welcome.jsp</result> <result name="fail">/index.jsp</result> </action> </package></struts>
View 视图
最后,引入Struts2的标签库进行视图的渲染即可。s为前缀,或者说别名,可以自定义。
index.jsp
<body> <%@taglib uri="/struts-tags" prefix="s" %> <s:form action="Login"> <s:textfield name="username" label="input username"></s:textfield> <s:password name="password" label="input password"></s:password> <s:submit value="Login"></s:submit> </s:form> </body>
welcome.jsp
<body> Hello,${username} </body>
web.xml 中配置FilterDispatcher
FilterDispatcher是Struts2框架API中提供的类,任何一个客户端的请求都必须经过FilterDispatcher进行过滤才能进入框架流程。在myeclipse中引入Struts2框架会自动生成该配置,如果url-pattern的值为*.action则需要修改为 /* 让它过滤所有页面。
- Java框架Struts2之初体验(一)
- SpringMVC框架学习之框架初体验(一)
- 框架之struts2(一)
- 细谈Struts2框架(一) Struts2框架之原理
- Java程序员从笨鸟到菜鸟之(三十五)细谈struts2(一)自己实现struts2框架
- Java程序员从笨鸟到菜鸟之(三十五)细谈struts2(一)自己实现struts2框架
- 初识框架之struts2(一)
- Java初体验之springMvc(一) springmvc框架的的引入
- Java初体验(一)
- Struts2框架(一)
- Struts2 框架(一)
- Struts2框架(一)
- java框架之struts2(文件上传)
- Java框架之Struts2(1)
- 笨鸟先飞之Java(一)--使用struts2框架实现文件上传
- JAVA Struts2框架之开篇
- java框架之struts2国际化
- java框架总结之struts2:
- Java-NowCoder-字符串反转
- 使用php://input接收手机图片上传二进制流
- DSP5509A程序固化到Flash中用到的CMD脚本解析
- css3关于 animation -timing- function step()介绍
- ucosii第一章读书笔记
- Java框架Struts2之初体验(一)
- mybatis IF判断
- ORACLE 树形遍历查询根节点、父节点、子节点
- 放大镜
- java多线程join()详解
- Python 学习笔记之十二——标准库概览 --第Ⅱ部分
- Android轮播图广告——ViewPager基本实现
- Java-编程之美-中国象棋
- Javascript操作select控件大全