文档章节

Action和JSP之间的通信

萧小蚁
 萧小蚁
发布于 2015/06/10 16:39
字数 597
阅读 20
收藏 0
点赞 0
评论 1
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>Struts2 HelloWorld示例</title>
	
  </head>
  
  <body>
    <h3>Struts2 HelloWorld示例</h3>
    <hr>
    <form action="login3.action" method="post">
    	用户名:<input type="text" name="userName"><br>
    	密    码:<input type="password" name="password"><br>
    	<input type="submit" value="登录">&nbsp;&nbsp;
    	<input type="reset" value="重置">
    </form>
    
    <hr/>
   	<a href="stu!add.action">增加</a><br/>
   	<a href="stu!delete.action">删除</a><br/>
   	<a href="stu!update.action">修改</a><br/>
   	<a href="stu!find.action">查询</a><br/>
  </body>
</html>
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
	"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
	"http://struts.apache.org/dtds/struts-2.3.dtd">

<!-- step3:struct2 的核心配置文件 -->
<!-- step4:添加项目所需的文件 -->
<struts>
	<!-- 请求消息的编码方式  默认的编码为UTF-8 -->
	<constant name="struts.i18n.encoding" value="UTF-8"></constant>
	<!-- 指定被struts2处理的请求后缀类型。多个用逗号隔开 -->
	<constant name="struts.action.extension" value="action,do,go,zhangsan,lisi"></constant>
    <!-- 默认值为false(生产环境下使用),开发阶段最好打开 -->
    <constant name="struts.configuration.xml.reload" value="true"></constant>
    <!-- 是否使用struts的开发模式。开发模式会有更多的调试信息。默认值为false(生产环境下使用),开发阶段最好打开 
     -->
    <constant name="struts.devMode" value="false"></constant>
    <!-- 启用Action的name是否支持斜线(/) -->
    <constant name="struts.enable.SlashesInActionNames" value="true"></constant>
   	<constant name="struts.enable.DynamicMethodInvocation" value="true"></constant>
   	
   	
    <package name="default" namespace="/" extends="struts-default">
    
    	<!-- Action 在Struts2中Action是用来处理请求业务的 -->
		<action name="login" class="derun.action.LoginAction">
			<result name="success">/success.jsp</result>
			<result name="fail">/fail.jsp</result>
		</action>
		
		<action name="login2" class="derun.action.LoginAction2">
			<result name="success">/success.jsp</result>
			<result name="error">/fail.jsp</result>
		</action>
		
		<action name="login3" class="derun.action.LoginAction3">
			<result name="success">/success.jsp</result>
			<result name="error">/fail.jsp</result>
		</action>
		
		<action name="stu" class="derun.action.StudentAction">
			<result name="add">/add.jsp</result>
			<result name="delete">/delete.jsp</result>
			<result name="update">/update.jsp</result>
			<result name="find">/find.jsp</result>
		</action>
    </package> 


</struts>
package derun.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;

import derun.model.Student;

public class StudentAction extends ActionSupport {

	private Student stu;
	public String add(){
		System.out.println("添加信息:"+stu.getStuName()+"--->年龄:"+stu.getAge());
		return "add";
	}
	public String delete(){
		System.out.println("删除信息");
		return "delete";
	}
	public String update(){
		System.out.println("更新信息");
		return "update";
	}
	public String find(){
		System.out.println("查找信息");
		//ActionContext
		ActionContext context=ActionContext.getContext();
		context.put("name", "zhangsan");//request.setAttribute(key,value);
		context.getSession().put("age", 20);//session.setAttribute();
		context.getApplication().put("address", "beijing");//ServletContext.setAttribute();
		
		return "find";
	}
	public void setStu(Student stu) {
		this.stu = stu;
	}
	
}
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'find.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->

  </head>
  
  <body>
    <h3>查询页面</h3>
    <hr>
    ${name }
    ${age }
  </body>
</html>


© 著作权归作者所有

共有 人打赏支持
萧小蚁

萧小蚁

粉丝 98
博文 279
码字总数 192339
作品 0
海淀
程序员
加载中

评论(1)

泥沙砖瓦浆木匠
泥沙砖瓦浆木匠
写的不错~
web服务器中的容器以及工作流程

杂谈:项目到现在,已经有几个Phase过去了,杂乱的js,jsp,杂乱的action,代码已经是面目全非,更别提什么高内聚,低耦合这一说了。现在的工作状态是,要不就是绞尽脑汁地改以前留下来的巨坑...

王大叔爱编程
2014/09/25
0
0
Tomcat如何与Servlet对象进行交互

Tomcat 是Web应用服务器,是一个Servlet/JSP容器. Tomcat作为Servlet容器,负责处理客户请求,把请求传送给Servlet,并将Servlet的响应传送回给客户.而Servlet是一种运行在支持Java语言的服务器上...

KeepMoving
2015/03/09
0
0
适合初学者的struts简单案例

前言:虽然现在ssh开发满天飞,但是对于初学者来说,未必是好事,从基础学起,一步一个脚印,也许对他们来说更好。 接下来的时间里,讲解一个struts的简单案例,从基础学起,有兴趣的朋友可以...

精华之王
2009/04/11
0
0
和的区别

<%@include%>和jsp:include的区别,发现了一些东西的。 <%@include%>:页面请求之前预编译,所有代码包含进来之后,一起进行处理,把所有代码合在一起,编译成一个servlet jsp:include:所有...

Alex_曰生
2015/04/04
0
0
JSP include directive 和JSP include的区别

Difference between JSP include directive and JSP include action <%@ include file=”filename” %> is the JSP include directive. At JSP page translation time, the content of the ......

enosh
2015/04/24
0
0
Java MVC框架性能比较 jsp、struts1、struts2、springmvc3

Java MVC框架性能比较 jsp、struts1、struts2、springmvc3 (转帖) 个人希望本帖对大家认识一些常用的MVC框架有所帮助! 现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介...

满风
2012/04/11
0
1
操作ibatis,struts,spring的整合

处理mybatis,struts,spring框架的整合作为学习java资料 步骤: 一.添加Spring、Struts框架对web.xml文件的修改 1. 添加Spring框架 2. 在web.xml中引入Spring配置文件(注意:applicationCont...

xinlll
2012/10/25
0
1
(转)Java MVC框架性能比较

现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介绍各框架性能方面差别的文章却不多,本人在项目开发中,感觉到采用了struts2框架的项目访问速度,明显不如原来采用了str...

空云万里晴
2012/03/02
0
1
struts-request 请求参数的生命

以前我看过很多文章,大概的意思是:挡在浏览器请求时就会生成一个新的线程,request就会在整个线程的生命周期里,jsp->action->jsp,当线程注销时,request也会注销,当你再次请求浏览器时,...

cookqq
2012/04/06
0
0
servlet/filter/listener/interceptor区别与联系

由于最近两个月工作比较清闲,个人也比较“上进”,利用工作空余时间,也继续学习了一下,某天突然想起struts2和struts1的区别的时候,发现 为什么struts1要用servlet,而struts2要用filter呢...

lzw_me
2014/08/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

idea tomcat 远程调试

tomcat 配置 编辑文件${tomcat_home}/bin/catalina.sh,在文件开头添加如下代码。    CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=7829" Idea端配......

qwfys
今天
1
0
遍历目录下的文件每250M打包一个文件

#!/usr/bin/env python # -*- utf-8 -*- # @Time : 2018/7/20 0020 下午 10:16 # @Author : 陈元 # @Email : abcmeabc@163.com # @file : tarFile.py import os import tarfile import thr......

寻爱的小草
今天
1
0
expect同步文件&expect指定host和要同步的文件&构建文件分发系统&批量远程执行命令

20.31 expect脚本同步文件 expect通过与rsync结合,可以在一台机器上把文件自动同步到多台机器上 编写脚本 [root@linux-5 ~]# cd /usr/local/sbin[root@linux-5 sbin]# vim 4.expect#!/...

影夜Linux
今天
0
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
今天
12
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
今天
1
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
今天
1
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 vim 4.expect [root@yong-01 sbin]# vim 4.expect#!/usr/bin/expectset passwd "20655739"spawn rsync -av ro...

lyy549745
今天
1
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
今天
0
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
今天
2
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部