對於剛接觸編程的同窗,對框架只是還不是很瞭解,本文主要介紹在Idea上配置Struts,實現簡單的頁面跳轉,以及頁面參數傳遞。html
在進行代碼編寫以前先對Idea進行一個簡單瞭解,對於長時間接觸編程的,對於Eclipse或者MyEclipse並不陌生,想當初剛接觸編程的時候配置Eclipse運行環境花費了大量的時間,但做爲一個程序員來講,我仍是建議你們儘可能運用Idea,舉一個簡單的例子,在Idea中進行Debug,那是很簡單的,只須要在代碼進行點擊,就能夠直接進入Debug狀態,對於整個進程的參數均可以看獲得,一目瞭然,這只是一個簡單的一個功能,還有不少等待着小夥伴去探索,我是感受用了Idea就不想用Eclipse了,閒話說到這,下面看代碼,首先解釋一下,我用的是Idea社區辦2016.3java
1、Struts簡單介紹程序員
① 首先Struts是一個MVC框架,是Apache的一個開源框架,感受哪裏都有Apache這個組織web
② Struts 2以WebWork爲核心,採用攔截器的機制來處理用戶的請求數據庫
2、Struts工做流程apache
① 客戶端(瀏覽器)發送請求編程
② 請求經過http協議發送給服務器瀏覽器
③ 服務器對請求進行攔截,這個是在web.xml文件中進行配置服務器
④ web.xml文件對struts.xml文件映射app
⑤ 映射到指定的action,返回resoult
⑥ 根據resoult指定對應的jsp頁面
3、 Struts詳細配置
1 創建Java項目,這一步比較簡單,你們看一下就知道了
2 選擇Java,並勾選Struts2,默認選擇Doweload,這樣就不用添加Jar包了
3 添加項目名稱,點擊下一步便可,這時頁面會顯示在下載Jar包
4 整個項目的效果,這樣Jar包以及配置文件都已經好了
5 配置服務器,點擊右上角的,對服務器進行配置,我用的是Tomcat服務器,點擊+選擇Tomcat Server,選擇Local
6 對服務器進行配置,指定Tomcat路徑,端口等
7 點擊Deployment,點擊+,點擊Artifact,進行路徑配置,該路徑至關於Eclipse項目Web Root中的路徑,添加名字,點擊apply保存,服務器配置完成。
8 對於web.xml配置
<?xml version="1.0" encoding="UTF-8"?> <web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1"> <filter> <filter-name>struts2</filter-name> <filter-class>org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter</filter-class> </filter> <filter-mapping> <filter-name>struts2</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> </web-app>
9 index.jsp頁面
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html> <head> <title>登陸頁面</title> </head> <body> <form action="${pageContext.request.contextPath}/test" method="post"> username:<input name="username" type="text"><br> password:<input name="password" type="password"><br> <input type="submit" value="提交"> </form> </body> </html>
10 struts.xml配置
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN" "http://struts.apache.org/dtds/struts-2.5.dtd"> <struts> <package name="Struts" extends="struts-default"> <action name="test" class="com.Demo"> <result name="success"> success.jsp </result> <result name="error"> error.jsp </result> </action> </package> </struts>
11 建立在com package下建立class Demo
package com; /** * Created by admin on 2018/3/30. */ public class Demo { private String username; private String password; 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; } public String execute(){ if(username.equals("wyy")&password.equals("123456")){ return "success"; } return "error"; } }
4、總結
當項目進行部署之後,會直接跳轉到index.jsp頁面,當頁面輸入用戶名,密碼之後,會發送http://localhost:8080/demo/test請求,首先須要注意該請求首先會被web.xml文件的url攔截,符合要求進行攔截,進行下一步,而後跳轉到com.Demo類中,對用戶名和密碼進行判斷,我如今用的是虛擬的數據,實際狀況會訪問數據庫,看看數據庫中是否存在該用戶,而且密碼是否正確,真正的項目還會對密碼進行加密,符合要求後返回success,這時候struts.xml中的action對返回結果進行判斷,看看返回結果是否有success,而後進行頁面跳轉。
注:關於頁面數據傳遞,首先在form表單中配置字段的name,在com.Demo對字段提供get set方法,這樣就能夠獲取頁面數據,注意字段的名字和類中屬性的名字必須保持一致。