struts 配置过程 -一个计算器程序
来源:互联网 发布:周末父母 知乎 编辑:程序博客网 时间:2024/06/05 22:45
1、新建一个java web项目
2、引入jar包、jar包路径:struts-1.2.9-bin\lib
3、配置web.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?
xml
version="1.0" encoding="UTF-8"?>
<
web-app
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<
servlet
>
<
servlet-name
>action</
servlet-name
>
<
servlet-class
>org.apache.struts.action.ActionServlet</
servlet-class
>
<
load-on-startup
>2</
load-on-startup
>
</
servlet
>
<!-- Standard Action Servlet Mapping -->
<
servlet-mapping
>
<
servlet-name
>action</
servlet-name
>
<
url-pattern
>*.action</
url-pattern
>
</
servlet-mapping
>
</
web-app
>
1
<
url-pattern
>*.action</
url-pattern
> 是拦截前台配置信息。<
br
><
br
>
4、配置struts-config.xml文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
xml
version="1.0" encoding="ISO-8859-1" ?>
<!
DOCTYPE
struts-config PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
"http://jakarta.apache.org/struts/dtds/struts-config_1_2.dtd">
<
struts-config
>
<
form-beans
>
<
form-bean
name="calForma" type="com.bjpowrnode.struts.CalActionForm"/>
</
form-beans
>
<
action-mappings
>
<
action
path="/cala"
type="com.bjpowrnode.struts.CalAction"
name="calForma"
scope="request"
>
<
forward
name="success" path="/success.jsp"/>
<
forward
name="error" path="/error.jsp"/>
</
action
>
</
action-mappings
>
</
struts-config
>
1
<
form-bean
name="calForma" type="com.bjpowrnode.struts.CalActionForm"/> 其中的name“calForm”是给文件中的数据起了个别名,在下面用( name="calForma")<
br
>通过forward放回的页面中,也中通过这里的 name="calForma"来取值的。
1
type="com.bjpowrnode.struts.CalAction" 数据的来源
1
scope="request" 数据提交的方式 默认是session存储。<
br
><
br
>input.jsp 页面 :显示计算机页面
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body> <h>简易计算机</h> <hr> <form action="cala.action" method="post"> <input type="text" name="value1"><br> <select name="flag"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> <input type="text" name="value2"> <input type="submit" value="计算"> </form></body></html>
CalActionForm类: 相对于实体
package com.bjpowrnode.struts;import org.apache.struts.action.ActionForm;@SuppressWarnings("serial")public class CalActionForm extends ActionForm { private int value1; private String flag; private int value2; public int getValue1() { return value1; } public void setValue1(int value1) { this.value1 = value1; } public String getFlag() { return flag; } public void setFlag(String flag) { this.flag = flag; } public int getValue2() { return value2; } public void setValue2(int value2) { this.value2 = value2; } }
CalAction类: 处理业务逻辑
package com.bjpowrnode.struts;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.apache.struts.action.Action;import org.apache.struts.action.ActionForm;import org.apache.struts.action.ActionForward;import org.apache.struts.action.ActionMapping;public class CalAction extends Action { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { CalActionForm calForm = (CalActionForm)form; int value1 = calForm.getValue1(); String flag = calForm.getFlag(); int value2 = calForm.getValue2(); int result=0; try{ if("+".equals(flag)){ result = value1+value2; }else if("-".equals(flag)){ result = value1-value2; }else if("*".equals(flag)){ result = value1*value2; }else if("/".equals(flag)){ result = value1/value2; } //把result 放进request 中方便el表达式取值 request.setAttribute("result", result); return mapping.findForward("success"); }catch(Exception e){ e.printStackTrace(); } return mapping.findForward("error"); }}
其中的 mapping.findForward("success"); 也就是 为struts-config.xml提供转向页面的依据。
success.jsp 页面:计算成功显示数据
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body> ${calForma.value1} ${calForma.flag} ${calForma.value2} = ${result}</body></html>
用到了EL表达式。
error.jsp页面:计算失败
<%@ page language="java" contentType="text/html; charset=GB18030" pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body> ${calForm.value1} ${calForm.flag} ${calForm.value2} 失败!</body></html>
页面整体效果图:
总结:经常用到的知识,不要因为简单都不总结。用非常短的时间坐下总结,以后在用到的时候有据可依!
2 0
- struts 配置过程 -一个计算器程序
- Java编写一个计算器程序过程介绍
- struts配置过程中遇到一个很郁闷的…
- Struts的配置过程
- 一个简单的计算器程序
- 一个简易的计算器程序
- 记录一个c#计算器程序
- 5.编写一个计算器程序
- android小程序计算器的制作过程
- 用java写一个计算器程序
- 一个简单的计算器程序(C++)
- 一个简单的计算器的python程序
- 一个简单计算器的c程序
- javascript写一个简单的计算器程序
- MFC一个简单的计算器程序
- MFC一个简单的计算器程序
- qt写的一个计算器程序
- July.5一个简单的计算器程序
- Spring的依赖注入
- 监控脚本报错
- git 笔记
- jQuery入门(一)
- 单例模式
- struts 配置过程 -一个计算器程序
- 构造函数模式与原型模式对象优缺点分析
- Java中JDBC相关知识
- 【Linux系统编程】I/O多路复用select、poll、epoll的区别使用
- 算法导论习题(10)
- Java虚拟机结构
- js中defer用法注意事项
- Java IO
- js调试console命令