博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Struts07---访问servlet的API
阅读量:6145 次
发布时间:2019-06-21

本文共 3620 字,大约阅读时间需要 12 分钟。

01.创建登录界面

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%String path = request.getContextPath();String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";%>              My JSP 'index.jsp' starting page    
用户名:
密码:

02.配置struts.xml文件

/success.jsp

03.创建对应的UserAction

package cn.bdqn.action;import java.util.Map;import javax.servlet.ServletContext;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;/** *  用户登录的action *  jsp九大内置对象 *   *  out *  page *  pageContext *  request *  response *  session *  application *  config *  exception */public class UserAction extends ActionSupport{/**    public  String  login(){          获取前台的值          01.耦合方式  不推荐使用        String name = ServletActionContext.getRequest().getParameter("name");        String password = ServletActionContext.getRequest().getParameter("password");        System.out.println(name);        System.out.println(password);        //放入作用域        ServletActionContext.getRequest().setAttribute("name",name);        ServletActionContext.getRequest().setAttribute("password",password);        return  SUCCESS;    }*/        /**     * 登录的方法     02. 解耦两种方法              001. 使用ActionContext!       sturts2在底层把我们的request,session,application用Map集合保存起来了!     */    private  String  name;    private  String  password;        public  String  login(){    Map
request=(Map
) ActionContext.getContext().get("request"); //让success.jsp获取数据 request.put("name",name);// 等同于setAttribute("name",name); request.put("password",password); return SUCCESS; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

04.使用第二种解耦的方式 ,就是实现对应的Aware接口

import org.apache.struts2.interceptor.RequestAware;import com.opensymphony.xwork2.ActionSupport;/** *  实现对应的Aware接口 */public class UserAction2 extends ActionSupport implements RequestAware{    private  String  name;    private  String  password;    private Map
request; //并不用写 set和get //登录的方法 public String login(){ request.put("name",name); request.put("password",password); return SUCCESS; } //重写方法 给请求request赋值 @Override public void setRequest(Map
request) { this.request=request; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } }

05.success.jsp

===============el表达式获取数据=============
${name} ${password}
===============struts2标签获取数据=============
<%--值栈中获取的 --%>
<%--栈的上下文中获取的 --%>

 

转载于:https://www.cnblogs.com/xtdxs/p/7097494.html

你可能感兴趣的文章
《图解HTTP》1~53Page Web网络基础 HTTP协议 HTTP报文内的HTTP信息
查看>>
unix环境高级编程-高级IO(2)
查看>>
树莓派是如何免疫 Meltdown 和 Spectre 漏洞的
查看>>
雅虎瓦片地图切片问题
查看>>
HTML 邮件链接,超链接发邮件
查看>>
HDU 5524:Subtrees
查看>>
手机端userAgent
查看>>
pip安装Mysql-python报错EnvironmentError: mysql_config not found
查看>>
http协议组成(请求状态码)
查看>>
怎样成为一个高手观后感
查看>>
[转]VC预处理指令与宏定义的妙用
查看>>
JQuery radio单选框应用
查看>>
MySql操作
查看>>
python 解析 XML文件
查看>>
MySQL 文件导入出错
查看>>
HDU2502 月之数(解法三)
查看>>
栈的压入、弹出序列 (剑指offer)
查看>>
java相关
查看>>
由一个异常开始思考springmvc参数解析
查看>>
layer弹出层不居中解决方案,layer提示不屏幕居中解决方法,layer弹窗不居中解决方案...
查看>>