Struts07---访问servlet的API
01.创建登录界面
<%@ 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 'index.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><form action="user/login" method="post"><table><tr><td>用户名:</td><td><input type="text" name="name"/></td></tr><tr><td>密码:</td><td><input type="password" name="password"/></td></tr><tr><td></td><td><input type="submit" value="登录"/></td></tr></table></form></body> </html>
02.配置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><constant name="struts.devMode" value="true"/><package name="default" namespace="/user" extends="struts-default"><action name="login" class="cn.bdqn.action.UserAction" method="login"><result>/success.jsp</result></action></package> </struts>
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<String, Object> request=(Map<String, Object>) 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<String, Object> request; //并不用写 set和get//登录的方法public String login(){request.put("name",name); request.put("password",password);return SUCCESS;}//重写方法 给请求request赋值 @Overridepublic void setRequest(Map<String, Object> 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表达式获取数据=============<br/>${name}${password} <br/>===============struts2标签获取数据=============<br/><s:property value="password"/> <%--值栈中获取的 --%><s:property value="#request.password"/> <%--栈的上下文中获取的 --%><s:property value="#attr.password"/>
转载于:https://www.cnblogs.com/xtdxs/p/7097494.html
Struts07---访问servlet的API相关推荐
- (转)Struts2访问Servlet的API及......
http://blog.csdn.net/yerenyuan_pku/article/details/67315598 Struts2访问Servlet的API 前面已经对Struts2的流程已经执行 ...
- 关于Struts2三种访问Servlet API方式的总结
在开发j2ee过程中,通常我们需要访问的Servlet API是:HttpSession,HttpservletRequest,ServletContext,这三者分别对应于JSP的内置对象:sess ...
- Action访问Servlet API的三种方法
一.为什么要访问Servlet API ? Struts2的Action并未与Servlet API进行耦合,这是Struts2 的一个改良,从而方便了单独对Action进行测试.但是对于Web控制器 ...
- Struts2中Action访问Servlet API的三种方法
Struts2的Action并未直接与任何Servlet API耦合,这是Struts2的一个改良之处,因为Action类不再与Servlet API耦合,能更轻松的测试该Action.但如何访问? ...
- Action访问Servlet API的对象
1,Action访问ActionContext的方式:(request session application) Struts2中的Action与Servlet API完全分离,但是在实现业务逻辑处理 ...
- struts2中访问servlet API
Struts2中的Action没有与任何Servlet API耦合,,但对于WEB应用的控制器而言,不访问Servlet API几乎是不可能的,例如需要跟踪HTTP Session状态等.Struts ...
- struts2 - ation 访问 Servlet api
Web 应用中通常需要访问的 Servlet Api 就是 HttpServletRequest .HttpSession 和 ServletContext,这三个接口分别代表 JSP内置对象中的 r ...
- Struts2访问Servlet的三种方式
Struts2访问Servlet的三种方式 基本介绍 在Struts2中,Action并没有直接和Servlet API耦合.虽然Struts2 中的Action访问Servlet API麻烦一些,但 ...
- ssh备考-05Struts2 Action类下的重要API(原生Servlet的API、跳转配置、框架自身的数据封装、自定义拦截器)
目录 一.Struts框架中如何使用原生Servlet的API 方法一.使用ActionContext类(完全解耦合的方式)(不好用,了解) demo1.jsp demo1Action.java ...
- Servlet中文API文档-个人整理版
Servlet中文API文档-个人整理版 一.Servlet 说明:servlet抽象集是javax.servlet.Servlet接口,它规定了必须由Servlet类实现由servlet引擎识别和管 ...
最新文章
- Java在游戏服务器开发中的应用
- 连接MongoDB 3.x 报 Authorization failed 解决办法(创建账号的部分亲测)
- 将自己的类封装为lib的方法
- php真随机数,php 的伪随机数与真随机数实例详解
- 消息中间件系列(八):Kafka、RocketMQ、RabbitMQ等的优劣势比较
- html 响应式布局 九宫格,两种方法实现响应式九宫格布局
- DirectSound开发
- Java学习笔记2.1.3 Java基本语法 - Java关键字与标识符
- sql语句返回近似值
- 8个很实用的在线工具来提高你的Web设计和开发能力
- 一级路由器映射二级路由器端口映射
- 计算机cpu天体图,电脑cpu天梯图2019|最新Intel/AMD处理器性能排行2019
- python 数独_python 实现 数独 解法 (穷举法)
- 利用XMLHTTP实现ASP.NET无刷新提交 (老梁)
- numpy的getA()/getA1()/getH()/getI()函数
- 用vue自己封装一个分页组件
- INT201 决策,计算,语言 笔记
- Android 多国家语言适配
- postgres 源码解析25 缓冲池管理器-3
- JavaScript学习笔记——对象和数组(上)