zoukankan      html  css  js  c++  java
  • JavaEE Struts基础

    软件152 王程燕

    1.Struts

    新建web project,解压刚下载的struts包并将下面九个包放到lib目录下(保险的办法的把所有jar包全放过去,必须用到的是下面的几个,比较多的说法是引五个核心包,但只有那五个是不够的):

    commons-fileupload-1.2.2.jar(文件上传);

    commons-io-2.0.1.jar(输入输出流组建);

    commons-lang-2.5.jar(工具类);

    commons-logging-1.1.1.jar(日志包);

    freemarker-2.3.16.jar(UI标签模板);

    javassist-3.11.0.GA.jar(分析、编辑和创建Java字节码的类库);

    ognl-3.0.1.jar(语言包);

    struts2-core-2.2.3.1.jar(核心类库);

    xwork-core-2.2.3.1.jar(Xwork类库)。

    下面进行FilterDispatcher的配置:

    打开WebRoot/WEB-INF/web.xml文件,加入如下代码:

    <?xml version="1.0" encoding="UTF-8"?>
     2 <web-app version="2.5" 
     3     xmlns="http://java.sun.com/xml/ns/javaee" 
     4     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     5     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
     6     http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
     7     <display-name></display-name>    
     8   
     9     <!--=======================配置struts2============================-->
    10     <filter>
    11         <filter-name>struts2</filter-name>
    12         <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
    13     </filter>
    14     <filter-mapping>
    15         <filter-name>struts2</filter-name>
    16         <url-pattern>*.action</url-pattern>
    17         <url-pattern>*.jsp</url-pattern>
    18     </filter-mapping>
    19     <!--==============================================================-->
    20   
    21     <welcome-file-list>
    22         <welcome-file>login.jsp</welcome-file>
    23     </welcome-file-list>
    24 </web-app>
    

      

    这里FilterDispatcher用来初始化struts2,并且处理以.action和.jsp结尾的web请求。

    在WebRoot下新建一个login.jsp:

     1 <%@ page language="java"import="java.util.*" pageEncoding="gb2312"%>
     2 <%@ taglib uri="/struts-tags" prefix="s"%>
     3 
     4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     5 <html>
     6 <head></head>
     7 <body>
     8 <s:form action="LoginAction.action">
     9 <s:textfield name="username" label="用户名:"></s:textfield>
    10 <s:password name="password" label="密码:"></s:password>
    11 <s:submit value="登陆"></s:submit>
    12 </s:form>
    13 </body>
    14 </html>
    

      在src中新建LoginAction类,处理登录请求:

     package action;
     2 import com.opensymphony.xwork2.ActionSupport;
     3 
     4 @SuppressWarnings("serial")
     5 public class LoginAction extends ActionSupport {
     6     private String username =null;
     7     private String password =null;
     8     @Override
     9     public String execute() throws Exception {
    10         // TODO Auto-generated method stub
    11         if(username.equals("admin") && password.equals("888888")){
    12             return SUCCESS;//Action类中的常量,值为字符串success
    13         }
    14         return LOGIN;//Action类中的常量,值为字符串login
    15     }
    16     public String getUsername() {
    17         return username;
    18     }
    19     publicvoid setUsername(String username) {
    20         this.username = username;
    21     }
    22     public String getPassword() {
    23         return password;
    24     }
    25     public void setPassword(String password) {
    26         this.password = password;
    27     }
    28 }
    

      下面编写登陆成功后的页面,在WebRoot下新建success.jsp:

     1<%@ page language="java"import="java.util.*" pageEncoding="gb2312"%>
     2 <%@ taglib uri="/struts-tags" prefix="s"%>
     3 
     4 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     5 <html>
     6 <head></head>
     7 <body>
     8 <h1>欢迎回来 <s:property value="username"/></h1>
     9 </body>
    10 </html>
    

      之后在src目录下建struts.xml,用来配置上面Action的信息:

    1 <?xml version="1.0" encoding="UTF-8"?>
     2 <!DOCTYPE struts PUBLIC
     3 "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
     4 "http://struts.apache.org/dtds/struts-2.3.dtd">
     5 <struts>
     6     <package name="package"extends="struts-default">
     7         <global-results>
     8             <result name="login">/login.jsp</result>
     9         </global-results>
    10         <action name="LoginAction"class="action.LoginAction">
    11             <result name="success">/success.jsp</result>
    12         </action>
    13     </package>
    14 </struts>
    

      

    此时运行程序,打开浏览器预览,可以看到登陆界面,输入admin/888888,即可转到登陆成功的界面。

    这里解释一下struts.xml中的配置:

    package是一个类似对象的组件,name属性指定一个名字,便于被其他package引用;extends属性(可选)是说从继承哪个package的行为,struts-default.xml许多包里都有定义,这里的是源自struts2-core-2.2.3.1.jar;所有的result、action必须配置到package中。

    global-results指定所有的全局result,当返回结果为String类型的login(name属性的值)时,进入login.jsp页面。

    action指定一个类,当action.LoginAction(调用覆写的execute方法)返回字符串success时,即转到success.jsp页面。

  • 相关阅读:
    mysql分表那些事
    java根据经纬度计算距离
    java Calendar类的使用
    mysql中DATETIME、DATE和TIMESTAMP的区别
    java设计模式
    dubbo教程
    Java算法
    随机产生字符串
    js根据类名获取元素的底层原理
    元素样式的获取
  • 原文地址:https://www.cnblogs.com/bigbangtop/p/7092980.html
Copyright © 2011-2022 走看看