本文讲述了struts2入门演示示例。分享给大家供大家参考。具体如下:
1.新建网络项目,名称:struts2Demo
2.建立一个用户库struts2,包含最少的struts2的最少的6个冲突文件;其实呢,对于MyEclipse8以上来说,是不必须的,因为它直接支持struts2了。不需要另外导包。
3.用构建路径将struts2的库加进来;
4.在web.xml中加入以下配置:
?可扩展标记语言版本='1.0 '编码='UTF-8 '?web-app版本=' 2.5 ' xmlns=' http://Java。星期日com/XML/ns/javaee ' xmlns : xsi=' http://www .w3。org/2001/XMLSchema-实例' xsi :架构位置=' http://Java。星期日http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd'!-支柱2的配置-筛选器筛选器-名称struts 2/筛选器-名称筛选器-类别组织。阿帕奇。支柱2。调度员。ng。过滤器。struts spreadarendexecutefilter/filter-class/filter filter-映射筛选器-名称struts 2/筛选器-名称URL-模式/*/URL-模式/筛选器-映射欢迎文件-列出welcome-fileindex.jsp/welcome-file/欢迎文件列表/网页.建立行动
包裹。com。叶安戈。行动;导入com。开放式交响乐。xwork 2。行动;公共类登录实现操作{私有字符串uname//表单中的姓名私有字符串upass//表单中的密码//执行方法@覆盖公共字符串执行()引发异常{ System.out.println('姓名: ' uname);System.out.println('密码: ' upass);if(uname。等于屁股上的叶子。equals(' leaf '){ return ' success ';}返回"错误";} //记住,要有得到和设置方法public String getUpass(){ return up ass;} public void setUpass(String up ass){ this。向上翘屁股=向上翘屁股;} public String getUname(){ return uname;} public void setUname(String uname){ this。uname=uname} }6.三个页面文件:
index.jsp:
“% @”页面语言=“Java”导入=“Java”。乌提尔。* "页面编码=' gbk ' % html head title my JSP '索引。“JSP”起始页/标题/标题正文表单操作=“登录”用户名:输入类型=“文本”名称='uname'br密码:输入类型=' text ' name=' upass ' br输入类型=' submit ' value='登陆//表单/正文/html welcome.jsp:
“% @”页面语言=“Java”导入=“Java”。乌提尔。* "页面编码=' GBK ' % html标题我的JSP '欢迎使用。“JSP”起始页/title/head body欢迎struts 2/body/html失败。JSP:
“% @”页面语言=“Java”导入=“Java”。乌提尔。* "页面编码=' gbk ' % html head title my JSP '欢迎使用。“JSP”起始页/标题/头体出错!/body /html7 .配置struts.xml(对于MyEclipse6来说,只能从别的地方复制)
?可扩展标记语言版本='1.0 '编码='UTF-8 '?DOCTYPE Struts PUBLIC '-//Apache软件基金会//DTD Struts配置2.0//EN ' ' http://Struts。阿帕奇。org/dtds/Struts-2.0。DTD ' Struts包名=' default '命名空间='/' extends=' Struts-default '操作名=' log in ' class=' com。叶安戈。行动。“逻辑”结果名='成功'/欢迎。JSP/结果名称='错误'/失败。JSP/结果/动作/包!-在此添加包-/斯特拉8 .到此完成。可以运行一下了,是不是很简单?
下面是取得请求、会话、应用程序这些东西的方法。
包裹。com。叶安戈。行动;导入Java。乌提尔。地图;导入javax。servlet。servlet上下文;导入javax。servlet。http。HttpServletrequest导入javax。servlet。http。HttpServletResponse导入javax。servlet。http。HttpSession导入组织。阿帕奇。支柱2。servletactioncontext导入组织。阿帕奇。支柱2。拦截者。servlet请求感知;导入组织。阿帕奇。支柱2。拦截者。Sessionaware导入组织。阿帕奇。支柱2。乌提尔。servletcontextaware导入com。开放式交响乐。xwork 2。行动;公共类登录实现Action、ServletRequestAware、SessionAware、ServletContextAware { private String uname;//表单中的姓名私有字符串upass//表单中的密码HttpServletRequest请求;//常用的请求地图会话;//常用的会话,有不同,但是不需要管ServletContext应用程序;//常用的应用程序/第二种取的方法;HttpServletRequest请求2=servletactioncontext。getrequest();HttpServletResponse响应2=servletactioncontext。getresponse();http会话会话2=请求2。getSession();@ Override public void setServletRequest(HttpServletrequest req){ this。request=req} @覆盖公共void setSession(映射会话){ this . session=session } @ Override public void setServletContext(ServletContext应用程序){ this . application=application }//执行方法公共字符串执行()引发异常{ if(uname。等于屁股上的叶子。equals(' leaf '){ request。setattribute(' userName ',uname);返回"成功";}请求。SetAttribute(' AccessError ',uname '这个用户或密码不正确!');返回"错误";} //记住,要有得到和设置方法public String getUpass(){ return up ass;} public void setUpass(String up ass){ this。向上翘屁股=向上翘屁股;} public String getUname(){ return uname;} public void setUname(String uname){ this。uname=uname} }这些只是初步了,后面再学习一些关于标签,动态方法之类的东西。
希望本文所述对大家的支杆程序设计有所帮助。