• Struts2基础学习总结


    Struts2基础学习总结(一)---入门

    Struts 2:

    Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

    Struts2开发环境

    1. 拷贝必要jar包

    jar包百度云盘地址:http://pan.baidu.com/s/1skSXbCp

    补充:一些包的释义


    2.在src下建立struts.xml的配置文件

     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>
    </struts>  

     3.在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>
     
      <!-- 增加的过滤器-->
      <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
    
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
    </web-app>

     环境配置就完成了接下来测试第一个案列

    第一个Struts2案例

    1、建立一个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 XHTML 1.0 Strict//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
     <base href="<%=basePath%>">
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>login</title>
    </head>
    
    <body id="login">
     
        <form  action ="login" method="post">
          <p>
            <label>Username</label>
            <input class="text-input" type="text" name="username" />
          </p>
          <div class="clear"></div>
          <p>
            <label>Password</label>
            <input class="text-input" type="password" name="password" />
          </p>
        
          <div class="clear"></div>
           
          <p id="remember-password">
            <input type="checkbox" name="loginRemember" value="1" />
            Remember me </p>
          <div class="clear"></div>
          <p>
          
           <input class="button" type="submit" value="Sign In" />
          </p>
        </form>
    
    
    </body>
    </html>

     登入页面

    新建一个成功页面mysuc.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 'mysuc.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>
        登入成功 <br>
      </body>
    </html>

    2、controller层代码

    package com.hdj.controller;
    
    public class userLogin {
        private String username;
        private String password;
        
        public String userLogin(){
            return "MySuc";
        }
    
        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;
        }
    }

    3、新增struts.xml文件中配置

    <struts>
      <constant name="struts.enable.DynamicMethodInvocation" value="false" />
        <constant name="struts.devMode" value="true" />
    
        <package name="default" namespace="/" extends="struts-default">
    
            <action name="index">
                 <result >/index.jsp</result>
            </action>
            
            <action name="login" class="com.hdj.controller.userLogin" method="userLogin" >
             <result  name="MySuc" >/mysuc.jsp </result>
            </action>
         
        </package>
    </struts>

    Tomcat发布并访问。(http://localhost:8080/day5-14struts2exercise/login.jsp)

    点登入跳转mysuc.jsp页面

    第一个案列到此结束。

  • 相关阅读:
    Spring3.0 AOP 具体解释
    bcompare3+keygen
    解决git每次输入密码,设置gitlab、github默认push的用户名和密码
    15款免费WiFi入侵破解安全测试工具
    六款主流免费网络嗅探软件wireshark,tcpdump,dsniff,Ettercap,NetStumbler
    wan口mac=lan口mac加一,wlan是lan口mac加二
    MOUNT MACBOOK DISK (OSX / HFS+) ON UBUNTU 12.04 LTS WITH READ/WRITE
    /sbin/ifup: configuration for eth0 not found解决
    delete
    vbox安装mac os x
  • 原文地址:https://www.cnblogs.com/hudj/p/6852537.html
Copyright © 2020-2023  润新知