- 浏览: 467449 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (272)
- java基础 (59)
- struts (8)
- spring (8)
- 数据库 (8)
- java 网络编程 (29)
- hibernate (3)
- JavaScript (10)
- 日志管理 (2)
- jsp (4)
- servlet (7)
- xml (4)
- ajax (2)
- web service (4)
- 算法与数据结构 (13)
- java 反射机制 (11)
- java 泛型 (3)
- java I/O (8)
- java 线程 (12)
- JavaEE (6)
- java解惑 (33)
- 工具 (5)
- MyEclipse编程实践 (1)
- OSGI (2)
- 设计模式 (9)
- 正则表达式 (0)
- EJB (3)
- Ubuntu linux (6)
- Android (1)
- web前端 (2)
- 找工作 (1)
- SCA (1)
- maven (1)
- 缓存 (1)
- json (1)
- javamail (1)
- 工作笔记 (2)
最新评论
-
霜花似雪:
博主可以分享一下源码吗?
使用maven构建web项目实例 -
王庆波-行:
很好的demo!
memcache使用实例 -
surpassno:
大写的牛逼
java可视化显示内存使用情况 -
zhulin0504:
怎么访问NetEcho.html页面呀???
applet与servlet的网络通信 -
springdata:
java多线程实例demo源代码下载:http://www.z ...
java多线程例子
新建一个web项目,为其添加struts1.1特性,然后新建一个产生数字的acionform
新建一个生成数字的action类,代码如下:
再建一个接收所猜数字的acitionform
判断所猜数字的action
这些在myeclipse里都有图形化生成工具,填入对应的名称即可生成代码类,在写入所需的逻辑代码。这样系统会自动在struts-config.xml中配置对应的action和actionform,无需自己编写配置文件
struts-config.xml
web。xml主要配置servlet,
唯一的一个jsp页面guess.jsp代码如下:主要用到struts的标签库
资源文件 ApplicationResources.properties
result.equal = \u606d\u559c\u4f60\uff0c\u7b54\u5bf9\u4e86\uff01
result.small = \u592a\u5c0f\u4e86\uff0c\u91cd\u65b0\u731c\u5427\uff01
result.big = \u592a\u5927\u4e86\uff0c\u91cd\u65b0\u731c\u5427\uff01
page = \u731c\u6570\u5b57\u7684\u9875\u9762
page.choose = \u9009\u62e9\u6570\u5b57\u7684\u8303\u56f4
page.new = \u5f00\u59cb\u4e00\u6b21\u65b0\u7684\u731c\u6570
page.guess = \u731c\u731c\u770b
部署到tomcat上,或直接拷贝项目至webapps启动tomcat,输入网址http://localhost:8080/项目名称,即可访问
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package ch02; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * MyEclipse Struts * Creation date: 06-25-2010 * * XDoclet definition: * @struts.form name="ch02.form.GuessNumberFormForm" */ public class CreateNumberActionForm extends ActionForm { private String digits; public String getDigits() { return digits; } public void setDigits(String digits) { this.digits = digits; } /* * Generated Methods */ /** * Method validate * @param mapping * @param request * @return ActionErrors */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } }
新建一个生成数字的action类,代码如下:
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package ch02; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import ch02.CreateNumberActionForm; /** * MyEclipse Struts Creation date: 06-25-2010 * * XDoclet definition: * * @struts.action */ public class createNumberAction extends Action { /* * Generated Methods */ /** * Method execute * * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { CreateNumberActionForm cform = (CreateNumberActionForm) form; HttpSession session = request.getSession(); session.removeAttribute("message"); int digits = Integer.parseInt(cform.getDigits()); int secret_number = (int) (Math.random() * digits); System.out.println(secret_number); session.setAttribute("secret_number", String.valueOf(secret_number)); return mapping.findForward("guess"); //全局转发或是action forward } }
再建一个接收所猜数字的acitionform
* Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package ch02; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * MyEclipse Struts * Creation date: 06-25-2010 * * XDoclet definition: * @struts.form name="ch02.form.JudgeActionForm" */ public class JudgeActionForm extends ActionForm { /* * Generated fields */ /** guess_number property */ private String guess_number; /* * Generated Methods */ /** * Method validate * @param mapping * @param request * @return ActionErrors */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub return null; } /** * Method reset * @param mapping * @param request */ public void reset(ActionMapping mapping, HttpServletRequest request) { // TODO Auto-generated method stub } /** * Returns the guess_number. * @return String */ public String getGuess_number() { return guess_number; } /** * Set the guess_number. * @param guess_number The guess_number to set */ public void setGuess_number(String guess_number) { this.guess_number = guess_number; } }
判断所猜数字的action
/* * Generated by MyEclipse Struts * Template path: templates/java/JavaClass.vtl */ package ch02; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import ch02.JudgeActionForm; /** * MyEclipse Struts * Creation date: 06-25-2010 * * XDoclet definition: * @struts.action */ public class judgeAction extends Action { /* * Generated Methods */ /** * Method execute * @param mapping * @param form * @param request * @param response * @return ActionForward */ public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { // TODO Auto-generated method stub JudgeActionForm jForm = (JudgeActionForm) form; HttpSession session = request.getSession(); int guess_number = Integer.parseInt(jForm.getGuess_number()); int secret_number = Integer.parseInt((String)session.getAttribute("secret_number")); if (guess_number == secret_number){ session.setAttribute("message","equal"); }else if (guess_number > secret_number){ session.setAttribute("message","bigger"); }else{ session.setAttribute("message","smaller"); } return mapping.findForward("guess"); //继续返回猜数字 } }
这些在myeclipse里都有图形化生成工具,填入对应的名称即可生成代码类,在写入所需的逻辑代码。这样系统会自动在struts-config.xml中配置对应的action和actionform,无需自己编写配置文件
struts-config.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.1//EN" "http://jakarta.apache.org/struts/dtds/struts-config_1_1.dtd"> <struts-config> <data-sources /> <form-beans > <form-bean name="createNumberActionForm" type="ch02.CreateNumberActionForm" /> <form-bean name="judgeActionForm" type="ch02.JudgeActionForm" /> </form-beans> <global-exceptions /> <global-forwards> <forward name="guess" path="/guess.jsp"></forward> </global-forwards> <action-mappings > <action name="createNumberActionForm" path="/createNumberAction" scope="session" type="ch02.createNumberAction" validate="false" /> <action name="judgeActionForm" path="/judgeAction" scope="session" type="ch02.judgeAction" validate="false" /> </action-mappings> <message-resources parameter="ApplicationResources" /> </struts-config>
web。xml主要配置servlet,
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <!-- 中心控制器ActionServlet --> <servlet> <servlet-name>action</servlet-name> <servlet-class> org.apache.struts.action.ActionServlet </servlet-class> <init-param> <param-name>config</param-name> <param-value>/WEB-INF/struts-config.xml</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>3</param-value> </init-param> <init-param> <param-name>detail</param-name> <param-value>3</param-value> </init-param> <load-on-startup>0</load-on-startup> </servlet> <!-- 中心控制器ActionServlet --> <servlet-mapping> <servlet-name>action</servlet-name> <url-pattern>*.do</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>guess.jsp</welcome-file> </welcome-file-list> </web-app>
唯一的一个jsp页面guess.jsp代码如下:主要用到struts的标签库
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ page contentType="text/html; charset=GB2312" %> <html:html> <head> <title> guess.jsp </title> </head> <body> <h1><bean:message key="page"/></h1> <html:form action="/createNumberAction.do" method="POST"> <h3><bean:message key="page.choose"/></h3> <html:select property="digits"> <html:option value="10">10</html:option> <html:option value="100">100</html:option> <html:option value="1000">1000</html:option> </html:select> <html:submit><bean:message key="page.new"/></html:submit><br> </html:form> <hr> <html:form action="/judgeAction.do" method="POST"> <html:text property="guess_number" value=""/> <html:submit><bean:message key="page.guess"/></html:submit><br> </html:form> <hr> <% String message = null; message = (String)session.getAttribute("message"); if (message != null) { if (message.equals("equal")){ %> <!-- result.equal在资源文件中定义 --> <h1><bean:message key="result.equal"/></h1> <% } else if (message.equals("bigger")){ %> <h1><bean:message key="result.big"/></h1> <% } else { %> <h1><bean:message key="result.small"/></h1> <% } } %> </body> </html:html>
资源文件 ApplicationResources.properties
result.equal = \u606d\u559c\u4f60\uff0c\u7b54\u5bf9\u4e86\uff01
result.small = \u592a\u5c0f\u4e86\uff0c\u91cd\u65b0\u731c\u5427\uff01
result.big = \u592a\u5927\u4e86\uff0c\u91cd\u65b0\u731c\u5427\uff01
page = \u731c\u6570\u5b57\u7684\u9875\u9762
page.choose = \u9009\u62e9\u6570\u5b57\u7684\u8303\u56f4
page.new = \u5f00\u59cb\u4e00\u6b21\u65b0\u7684\u731c\u6570
page.guess = \u731c\u731c\u770b
部署到tomcat上,或直接拷贝项目至webapps启动tomcat,输入网址http://localhost:8080/项目名称,即可访问
- ch02.rar (21.4 KB)
- 下载次数: 1
发表评论
-
struts登录系统实现
2011-04-16 10:36 1145在java ee中讲了第一个web实例,具体见博文:http: ... -
exception---struts1
2010-08-25 18:20 928关于struts里的异常处理,用到动态actionform,无 ... -
helloworld---------struts1
2010-08-24 14:50 1015在myeclipse里新建web项目,加上struts特性,s ... -
Java杂谈(九)--Struts
2010-08-19 17:21 830J2ee的开源框架很多,笔者只能介绍自己熟悉的几个,其他的目前 ... -
MVC的第一个实例
2010-08-08 10:44 973J2EE J2EE API包含以下几个部分: Jsp(jav ... -
org.apache.commons.validator.ValidatorException:org.apache.struts.validator
2010-08-06 09:55 1854在我们用struts来进行表单验证时,也许是会出现以下异常!o ... -
struts配置数据源
2010-08-04 12:30 777Struts数据源配置过程(不在Action里连接) JDB ...
相关推荐
4. **Struts配置文件**:在项目的`struts-config.xml`文件中,我们需要定义Action和ActionForm之间的映射,以及Action如何响应特定的HTTP请求。例如,为猜数字的Action创建一个配置项,指定其处理的请求URL,以及...
【标题】: 使用JBuilder2005与Struts实现猜数字小游戏 【描述】: 本章节将介绍如何利用JBuilder2005集成开发环境结合Struts框架,实现一个简单的猜数字游戏,以此来学习和理解ActionForm、Action以及JSP在Struts...
【描述】"myeclipse+struts+tomcat 猜数字,随即产生数字"描述了一个基础的教学场景,即创建一个猜数字的游戏。游戏中,系统会随机生成一个数字,用户通过界面输入猜测,然后系统会给出提示(如过高、过低或猜中...
在这个简单的猜数字游戏示例中,我们探讨了一个基于JSP和Struts的MVC架构的应用。首先,我们要明确视图(JSP)和控制器(Action)的职责划分。视图的作用是展示数据,而不应包含任何业务逻辑。因此,JSP应该只负责...
02章:猜数字工程; 03章:登录用例和常用Web组件开发工程以及数据库脚本; 05章:实体Bean开发示例,该示例仅供参考; 08-11章:标记库taglib1应用,直接复制到tomcat的webapps目录下即可使用; 13章:复合视图...
java猜数字源码 = 为什么要用 EWeb4J ? = EWeb4J 是一个基于 Servlet/Jdbc 构建的轻量级 Java Web 开发框架。它可以代替 SSH 来开发一个完整的 Web 应用程序。 它专注于 少侵入、少配置、松耦合、RESTful架构风格的...
这个字符串可以包含字母、数字,甚至符号,长度可以根据需求来设定。生成的验证码通常要存储在一个会话(session)变量中,以便后续验证时使用。 2. **显示验证码**:在用户请求登录或其他需要验证码的页面时,将...
猜牌游戏通常涉及到随机生成一个数字或卡片,然后让用户尝试猜测它,直到用户猜对为止。 【描述】:“简单的代码逻辑” 这个描述暗示了游戏的实现可能使用了直观且易于理解的代码结构。在编程中,简洁的代码逻辑...
书中还通过Java应用程序实例,让读者能够通过编写排序算法、猜数字游戏等程序来加深对Java基本语法和逻辑的理解。 在Web开发技术方面,本书详细地讲解了如何在Eclipse中使用Ant工具进行资源构建。Ant是Apache的一个...
深入到具体的Java应用程序开发中,通过排序算法的实现、猜数字游戏、FTP文件传输等实例,让读者能够在实践中学习和巩固Java编程技能。这些实例不仅涵盖了基本的编程概念,还涉及到了网络通信、文件操作等进阶主题,...
JCaptcha的工作原理是生成一个随机的、难以通过计算机算法识别的图像,通常包含扭曲的文字或数字。用户在提交表单之前必须正确输入这个验证码,以证明他们是人类而不是机器。这样可以有效地防止自动脚本执行恶意操作...
此外,还涉及了如何实现简单的应用程序,如猜数字游戏和五子棋控制台版本。 3. **集合框架**:详细介绍了Java中的各种集合类,如ArrayList、LinkedList、HashMap等,并讲解了Apache Commons工具包的使用,帮助...
通过实现猜数字游戏的升级版、简单的记事本程序等项目,可以锻炼实际编程能力。 数据库知识是必不可少的,掌握SQL语言,包括基本的查询、更新、删除和插入操作,以及SQL语句的优化。了解Oracle数据库体系结构,能够...