对于刚接触编程的同窗,对框架只是还不是很了解,本文主要介绍在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方法,这样就能够获取页面数据,注意字段的名字和类中属性的名字必须保持一致。