J2EE学习笔记——Struts2的部署和使用

来源:互联网 发布:java 短信验证码校验 编辑:程序博客网 时间:2024/04/30 06:56

首先在 Struts2官网上下载 struts2的 包 网址 :http://struts.apache.org/download.cgi#struts221

用这个Full Distribution:

  • struts-2.3.8.-all.zip (76mb) [PGP] [MD5]

解压以后找到 lib里的jar 文件: 主要用 以下几个:



把这几个包 导入   你的web网站下的WEB-INF\lib中   ;      Struts部署完成:


下面开始使用    新建一个  webproject,   包含以下几项:



首先更改web.xml  文件

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">  <welcome-file-list>    <welcome-file>index.jsp</welcome-file>  </welcome-file-list>      <!-- 定义struts2的核心Filter -->    <filter>    <filter-name>struts2</filter-name>  <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>      </filter>    <!-- 让Struts2的核心Filter拦截所有请求 -->        <filter-mapping>    <filter-name>struts2</filter-name>  <url-pattern>/*</url-pattern>    </filter-mapping>          </web-app>
-------------------------------------------------------------------------------------------------------------------------------------------------------------
Login.jsp页面:


<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%@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>Login.jsp</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>   <s:form action="login">      <s:textfield name="username" key="用户名"></s:textfield>   <s:textfield name="password" key="密码"></s:textfield>      <s:submit key="login" value="登陆"></s:submit>         </s:form>  </body></html>


---------------------------------------------------------------------------------------------------------
error.jsp


<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%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 'error.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>

-------------------------------------------------------------------

welcome.jsp页面:

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%><%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 'welcome.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>



好,然后  开始写     LoginAction.java    主要是登录验证用:


package xuyan.struts;import com.opensymphony.xwork2.ActionContext;import com.opensymphony.xwork2.ActionSupport;public class LoginAction extends ActionSupport{       //定义封装请求参数的username和password属性private String username;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;}private String password;//定义用户请求的execute方法public String execute()throws Exception{//当用户名为ADMIN  和密码为 1234时  登陆成功if(getUsername().equals("Admin")&&getPassword().equals("1234")){ActionContext.getContext().getSession().put("user", getUsername());return SUCCESS;}else{return  ERROR;}}}

-----------------------------------------------------------------------

然后  开始写   struts.xml   文件:


<?xml version="1.0" encoding="GBK"?><!DOCTYPE struts PUBLIC"-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN""http://struts.apache.org/dtds/struts-2.1.7.dtd"><!-- 指定Struts 2配置文件的根元素 --><struts><!-- 指定全局国际化资源文件 --><constant name="struts.custom.i18n.resources" value="mess"/><!-- 指定国际化编码所使用的字符集 --><constant name="struts.i18n.encoding" value="GBK"/><!-- 所有的Action定义都应该放在package下 --><package  name="xuyan.struts" extends="struts-default">  <action  name="login"  class="xuyan.struts.LoginAction" >          <!-- 定义三个逻辑视图和物理资源之间的映射 -->          <result  name="input">/Login.jsp</result>     <result  name="error">/error.jsp</result>     <result  name="success">/welcome.jsp</result>      </action></package></struts>


至此    ,Struts2的   配置  和使用    已完成 ,希望对朋友们有帮助!!


原创粉丝点击