MyEclipse结构如下:

在my包下有2个类,

一个是Servlet是LoginServlet.java

package my;import java.io.IOException;
import java.io.PrintWriter;import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;public class LoginServlet extends HttpServlet {/*** Constructor of the object.*/public LoginServlet() {super();}/*** Destruction of the servlet. <br>*/public void destroy() {super.destroy(); // Just puts "destroy" string in log// Put your code here}/*** The doGet method of the servlet. <br>** This method is called when a form has its tag value method equals to get.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {response.setContentType("text/html");PrintWriter out = response.getWriter();out.println("<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">");out.println("<HTML>");out.println("  <HEAD><TITLE>A Servlet</TITLE></HEAD>");out.println("  <BODY>");out.print("    This is ");out.print(this.getClass());out.println(", using the GET method");out.println("  </BODY>");out.println("</HTML>");out.flush();out.close();}/*** The doPost method of the servlet. <br>** This method is called when a form has its tag value method equals to post.* * @param request the request send by the client to the server* @param response the response send by the server to the client* @throws ServletException if an error occurred* @throws IOException if an error occurred*/public void doPost(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException {request.setCharacterEncoding("UTF-8");String user=request.getParameter("user");String password=request.getParameter("password");if("123456".equals(password)){HttpSession hs=request.getSession();hs.setAttribute("user", user);//重定向到index.jspString contextPath=request.getContextPath();response.sendRedirect(contextPath+"/index.jsp");}else{response.sendError(400, "密码错误!");}}/*** Initialization of the servlet. <br>** @throws ServletException if an error occurs*/public void init() throws ServletException {// Put your code here}}

另外一个是Test2Action.java

package my;import com.opensymphony.xwork2.ActionSupport;public class Test2Action extends ActionSupport
{String reason = "A test message!";int result = 0;@Overridepublic String execute() throws Exception{result = 100;     return "success";}public String getReason(){return reason;}public void setReason(String reason){this.reason = reason;}public int getResult(){return result;}public void setResult(int result){this.result = result;}
}

struts.xml配置如下

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts><package name="main" extends="struts-default"><action name="Test2" class="my.Test2Action"  >                         <result name="success"> /Test2_success.jsp</result></action> </package></struts>    

index.jsp配置

<%@ 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>首页</body>
</html>

login.jsp

<%@ 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 'login.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 method="post" action="servlet/LoginServlet">用户名:<input type="text" name="user"><br><br>密码:<input type="password" name="password"><br><br><input type="submit" name="登录"><br><br></form></body>
</html>

Test2_success.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags" %><%
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 'Hello.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><h1> 测试1 : #parameters </h1>( 相当于 request.getParameter("")  ) <br>result: <s:property value="#parameters['check']" /><h1> 测试2 : #session </h1>( 相当于 session.getAttribute("") ) <br>result: <s:property value="#session['user']" /> <br>另外一种写法 : <s:property value="#session.user" /><h1> 测试3 : #reqeust</h1>#request['xxx'] 相当于 request.getAttribute("xxx")   <br>#parameters['xxx'] 相当于 request.getParameter("xxx")  <br>两者不同<h1> 测试4 :#action </h1>result: <s:property value="#action['reason']" />  <br>相当于: <s:property value="reason" /><h1> 测试5 :if判断 </h1><s:if test="result > 100" >够大!</s:if><s:else>太小了!</s:else><h1> 测试6 :if判断 </h1><s:if test="#session['user'] == null" >未登录</s:if><s:else><s:property value="#session['user']" />,您好!</s:else></body>
</html>

Struts2 访问上下问对象相关推荐

  1. 在struts2中訪问servletAPI

    在struts2中訪问servletAPI,通俗点也就是使用servlet中的两个对象request对象和response对象. 前几天看到一个CRM项目的源代码,里面使用request对象和resp ...

  2. Struts2访问Servlet的三种方式

    Struts2访问Servlet的三种方式 基本介绍 在Struts2中,Action并没有直接和Servlet API耦合.虽然Struts2 中的Action访问Servlet API麻烦一些,但 ...

  3. (转)Struts2访问Servlet的API及......

    http://blog.csdn.net/yerenyuan_pku/article/details/67315598 Struts2访问Servlet的API 前面已经对Struts2的流程已经执行 ...

  4. python属性访问顺序_Python 对象属性的访问

    在 Python 中,一切皆对象.属性访问可以理解为是从一个已有的对象中获得另一个对象的方法.对象属性的访问涉及到对象的 __dict__ 属性.描述符等概念,以及 __getattribute__. ...

  5. js高级编号笔记[新]-访问文档对象

    1.通过name 属性访问文档对象 document.MyForm1.MyTextOfForm1.value 2.通过id 属性访问文档对象 var currentElement=document.g ...

  6. 打开Word提示:Office已阻止访问以下嵌入对象,以便保护你的安全解决方法

    一.问题描述 在Office2019的Word文档中,双击下载文档的内容,提示[Office已阻止访问以下嵌入对象,以便保护你的安全],如下图所示: 二.问题分析 由于Office版本限制,Offic ...

  7. Java访问QingCloud青云对象存储

    Java访问QingCloud青云对象存储 网上关于小白如何访问青云的相关的博客真是少之又少啊, 正好我们项目中用到了就给大家整理下哈 首先: 如果大家想了解访问青云的操作, 先确定一下我们要访问的是 ...

  8. unity访问其他游戏对象的四种方式

    一.通过属性查看器指定参数访问其他游戏对象 将要旋转的物体拖到属性栏上的obj,运行就可以看到cube旋转 二.通过父子关系的相应函数访问其他游戏对象 当前对象是cylinder,其子对象是cube, ...

  9. 如何用 Minio SDK 访问滴滴云对象存储

    一. 前言 滴滴云对象存储 S3 定位分布式海量数据存取服务.S3 提供标准的对象存储服务,您可以通过网络随时随地方便地存储和获取图片/音频/视频/文本/大文件等各类数据文件. Minio 是一个开源 ...

最新文章

  1. Windows 2008远程桌面多用户登陆的配置方法 - z
  2. Thinking in java基础之集合框架
  3. VTK:KDTree时序用法实战
  4. Java Secret:使用枚举构建状态机
  5. python中oxf2是什么_0x02-StartingPoint-Oopsie
  6. python try语句相关(try/except/else/finally)
  7. 基于springboot框架的博客系统
  8. 【kafka】kafkaProducer 拉取元数据的流程
  9. weixintong ent.php,多商户版微信商城对接微信公众号的方法及设置
  10. 数据结构笔记(十四)-- 串的模式匹配算法
  11. 图像语义分割(13)-OCNet: 用于场景解析的目标语义网络
  12. 2021-09-03Dien
  13. Mac版word空格变成小点,多了很多“分节符(下一页)”和“窗体顶端”和“窗体底端”等字样,怎么解决?
  14. java枚举类型的优势在哪里?
  15. Qt基础与Qt on Android入门-安晓辉-专题视频课程
  16. Linux的触屏软件安装,为 Linux 安装触摸屏 -电脑资料
  17. 计网第三章复习(数据链路层)
  18. CentOS 之 python-devel 安装
  19. 建筑图纸设计加密软件在规划设计行业的应用价值
  20. APP上线到360步骤

热门文章

  1. 程序员想找工作怎么办?如果记住这一点,不怕找不到好工作!
  2. “扎金花FANS”进行了改进
  3. 我的第一句__asm 语句[很简单]
  4. 代码敲慢一点,学得会快一点
  5. 大寨鸿蒙系统的电器,华为传来两个好消息,鸿蒙OS大时代将于6月2日正式开启...
  6. php h5微信公众号支付接口,微信公众号H5支付接口调用方法
  7. virsh命令 查看虚拟机镜像_kvm虚拟机操作相关命令及虚拟机和镜像密码修改
  8. 那天空飘过的梅花月饼,是今年中秋最好的礼物
  9. php解析验证码,全面解析PHP验证码的实现原理 附php验证码小案例
  10. qaxobject控制word到某一行_太简单了!Excel信息导出为每页打印一行,且批量添加同一表头...