Action处理业务请求(一)

1、概述

 2、Action的作用

 3、第一种方式(设置私有属性)

log.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
 <form action="login" method="post">
  用户名:<input type="text" name="userName"/>
  密码:<input type="password" name="password"/>
  <input type="submit" value="提交"/>&nbsp;&nbsp;
  <input type="reset" value="重置"/>
 </form>
</body>
</html>

loginSuccess.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!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=UTF-8">
<title>Insert title here</title>
</head>
<body>
登陆成功,欢迎你:<s:property value="userName"/>
</body>
</html>

LoginAction类:

package com.ljb.web.action;
import com.opensymphony.xwork2.ActionSupport;
/**
 * 第一种传递参数方法(设置私有属性,设置set与get方法)
 * @author Administrator
 *
 */
public class LoginAction extends ActionSupport {
 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;
 }
 
 @Override
 public String execute() throws Exception {
  // TODO Auto-generated method stub
  return SUCCESS;
 }
}

struts.xml

<?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">
<struts>
        <!-- Add packages here -->
    <constant name="struts.devMode" value="true" />
 <package name="default" namespace="/" extends="struts-default">
       <action name="login" class="com.ljb.web.action.LoginAction">
            <result>
                /loginSuccess.jsp
            </result>
        </action>
    </package>
</struts>

 4、乱码问题

login.jsp

<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>
<!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=gbk">
<title>Insert title here</title>
</head>
<body>
 <form action="login" method="post">
  用户名:<input type="text" name="userName"/>
  密码:<input type="password" name="password"/>
  <input type="submit" value="提交"/>&nbsp;&nbsp;
  <input type="reset" value="重置"/>
 </form>
</body>
</html>

loginSuccess.jsp

<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!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=gbk">
<title>Insert title here</title>
</head>
<body>
登陆成功,欢迎你:<s:property value="userName"/>
</body>
</html>

原因:

解决方法:

时间: 2024-10-08 23:53:08

Action处理业务请求(一)的相关文章

Struts2 -action处理业务请求

struts2与mvc view层:应用程序输出页面或者界面:jsp.html等 controller层   :Struts2 :1.核心控制器strutsPrepareAndExecuteFiler(通过web.xml配置) 2.业务控制器(action) mode层:应用程序的业务逻辑和业务数据,由封装数据的和处理业务的javabase组成 Action的作用 1.控制业务逻辑:如果业务逻辑很复杂,可以把业务逻辑构建为业务类,在Action中调用业务类 2.返回结果字符集 3.方便的处理数据

Action处理业务请求(二)

1.概述 2.使用method属性

Struts2 的Action中取得请求参数值的几种方法

Struts2 的Action中取得请求参数值的几种方法 先看GetRequestParameterAction类代码: Java代码 public class GetRequestParameterAction extends ActionSupport { private String bookName; private String bookPrice; public String getBookName() { return bookName; } public void setBook

【转载】Jmeter业务请求比例1

ps:文章转自订阅号"测试那点事儿",链接:https://mp.weixin.qq.com/s/qVD4iNO0QqRIwAIq9_E_Kw 在进行综合场景压测时,由于不同的请求,要求所占比例不同,那如何实现呢? 有人说将这些请求分别放到单独的线程组下,然后将线程组的线程数按照比例进行配置,这种方法不是很好,想想,不同的请求,服务器对其处理能力不同,有的处理快,有的处理慢.若采取上述方案的话,并不会按照我们预期的比例进行并发. 那么如何真实模拟按比例进行并发呢? 之前在使用LR进行过

【Jmeter】配置不同业务请求比例,应对综合场景压测

背景 在进行综合场景压测时,遇到了如何实现不同的请求所占比例不同的问题. 有人说将这些请求分别放到单独的线程组下,然后将线程组的线程数按照比例进行配置. 这种方法不是很好,因为服务器对不同的请求处理能力不同,有的处理快,有的处理慢.若采取上述方案的话,并不会按照我们预期的比例进行并发. 那么如何真实模拟按比例进行并发呢?此前使用LR进行过类似场景的测试时的思路如下: 每次向服务器发出请求时,先生成一个随机数,我们对随机数的取值划分若干个范围(对应若干个业务请求),然后对随机数进行判断,当随机数落

jmeter实现一次登录,多次业务请求

实现目的 很多时候,在进行性能测试时,需要先登录,然后再对需求的事务进行相关性能测试,此时的登录操作,并不在本次性能测试的范围内,所以我们只需要登录一次,然后获取登录成功后的cookie等,并将cookie等鉴权的值,传给cookie管理器,供后续所有的业务请求使用,这样即可实现直接对需求的事务进行性能测试,并监控相关资源利用和程序性能指标. 脚本实现 设置Http Cookie管理器,用于存储当前脚本的cookie信息,并传给后续的相关请求使用 设置高斯随机定时器,用于产生随机等待时间 设置初

在Struts2的Action中取得请求参数值的几种方法

把参数放到作用域里面去. 如:action 中: request.setAttribute("参数名","值");   页面上:  request.getAttribute("参数名"); request.getParameter()方法完全可以获得URL参数,检查下是否参数名写错 你使用的是不是BaseAction.如果就是server.getRequest().getParameter() 看看你的控件是不是 name 属性!如果id的话就获

Struts2 Action接收POST请求JSON数据及其实现解析

一.认识JSON JSON是一种轻量级.基于文本.与语言无关的数据交换格式,可以用文本格式的形式来存储或表示结构化的数据. 二.POST请求与Content-Type: application/json 常用的HTTP请求方法有GET, POST, PUT, DELETE等.在提交POST请求时,请求数据放在消息体(Body)中,请求数据的格式及编码方式用Content-Type来指定.如我们常用的表单<form>提交,其Content-Type默认为application/x-www-for

使用action处理义务请求

继承Actionsupport类  属性方式接收(字段少时)方法只可以返回string类型 继承Actionsupport类  方法只可以返回String类型  页面中属性要 对象.属性 实现 ModelDriven接口  方法可以直接返回任何类型 不需要set 和 get 方法 页面和属性页面一样 结论:三种Action 接收参数的方式中,当Action 接收非字符串类型参数时,Action 中相应属性最好设置为包装类型. 解决struts.xml文件中多个method对应1个action类造