前言
這一篇主要講Struts,這是在Servlet之後框架上的一次改變,上一篇文章講過了Servlet的一些不足之處,因此Struts對原有的方式進行的改善。這裏需要指出的是Struts本身可以看做一個Servlet,Servlet是原材料,應用Struts只是給了一個規範使得製作的速度更快,更易維護,這裏我們主要講Struts2的相關內容。
struts的工作流程
創建Struts項目
<?xml version="1.0" encoding="UTF-8"?>
<web-app id="WebApp_9" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<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>
<welcome-file-list>
<welcome-file>login.jsp</welcome-file>
</welcome-file-list>
</web-app>
package com.struts.example; import com.opensymphony.xwork2.ActionSupport; /** * @author zhaoshaopeng * @version 創建時間:2017年9月7日 上午9:39:25 * 類說明 */ public class LoginAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; public String name; public String password; public String execute() throws Exception { if (name!=null&&password!=null) { return "success"; } return "error"; } }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
<package name="struts" extends="struts-default">
<action name="login" class="com.struts.example.LoginAction">
<result name="success">/success.jsp</result>
<result name="error">/login.jsp</result>
</action>
</package>
</struts>
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>login</title>
</head>
<body>
<form action="login" method="post">
<div><span>姓名:</span><input name="name" type="text" /></div>
<div><span>密碼:</span><input name="password" type="text" /></div>
<div><input type="submit"></div>
</form>
</body>
</html>