1、建立项目,打开IDEA,点击File——》new project,选择Java Module,点击Next
选中Web Application,Version选中3.0,选中create web.xml自动创建web.xml文件,至此,我们就建立好一个web项目。
2、在WEB-INF下建立两个文件夹,分别命名为lib(用于存放项目所需的一些列jar包),classes(用于存放编译过的文件),注意命名不要错。配置环境Ctrl+Alt+Shift+S打开配置窗口或在工具栏选中,选中jdk的安装位置(注:是JDK而不是JRE的安装位置)
指定编译后的文件的输出的位置,即我们刚创建的classes文件夹;
指定项目所需的jar包的存放位置
点击+号,选择java,选中刚我们创建的lib文件夹。之后会出现一个Attach Files对话框,选择jar directory即可,有时候会给出fix的提示,直接fix即可。
3、配置tomcat
点击+号
选择本地Tomcat的安装位置;
小伙伴们看到那个Fix提示没?直接Fix即可。
4、首先将Struts所需要的jar包考到lib文件夹下面,必须的jar如下:
注:之前看的很多教材中说必要的jar不包括commons-lang3这个包,但是自己运行的时候老是报Exception starting filter struts2
java.lang.NoClassDefFoundError: org/apache/commons/lang3/StringUtils错误,但是添加这个包后就好了。
5、配置web.xml文件,定义Struts2的核心Filter,用于拦截所有的请求。Struts2框架是通过Filter来启动的,启动后开始读取struts.xml文件。
[html] view plain copy
- <?xml version="1.0" encoding="GBK"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0">
-
-
- <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>
6、配置Struts.xml文件
[html] view plain copy
- <?xml version="1.0" encoding="GBK"?>
- <!DOCTYPE struts PUBLIC
- "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"
- "http://struts.apache.org/dtds/struts-2.1.7.dtd">
-
- <struts>
-
- <constant name="struts.custom.i18n.resources" value="mess"/>
-
- <constant name="struts.i18n.encoding" value="GBK"/>
-
- <constant name="struts.devMode" value="true"/>
-
- <package name="wbb" extends="struts-default">
- <action name="login" class="w_basketboy.helloworld.action.LoginAction">
-
- <result name="input">/login.jsp</result>
- <result name="error">/error.jsp</result>
- <result name="success">/success.jsp</result>
- </action>
- </package>
- </struts>
web.xml文件中定的拦截器拦截所有的请求后,到struts文件中找到对应的action,执行一系列方法后对其结果集做处理,如果失败跳转到error.jsp页面,如果成功跳转到success.jsp页面。
7、建立action文件
[java] view plain copy
- LoginAction.java:
- package w_basketboy.helloworld.action;
-
- import com.opensymphony.xwork2.ActionContext;
- import com.opensymphony.xwork2.ActionSupport;
-
- public class LoginAction extends ActionSupport {
-
- 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() throws Exception {
-
- if (getUsername().equals("wbbw") && getPassword().equals("wbb")) {
- ActionContext.getContext().getSession().put("user", getUsername());
- return "success";
- } else {
- return "error";
- }
- }
- }
8、建立相应的jsp文件;
[html] view plain copy
- login.jsp:
-
- <%--
- Created by IntelliJ IDEA.
- User: wbb
- Date: 13-7-31
- Time: 上午9:28
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title></title>
- </head>
- <body>
- <form action="login" method="post">
- 用户名:<input type="text" name="username"></br>
- 密 码:<input type="text" name="password"></br>
- <input type="submit" value="提交">
- </form>
- </body>
- </html>
[html] view plain copy
- success.jsp:
-
- <%--
- Created by IntelliJ IDEA.
- User: wbb
- Date: 13-7-31
- Time: 上午9:28
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title></title>
- </head>
- <body>
- 欢迎您:${sessionScope.user}
- </body>
- </html>
[html] view plain copy
- error.jsp:
-
- <%--
- Created by IntelliJ IDEA.
- User: wbb
- Date: 13-7-31
- Time: 上午9:27
- To change this template use File | Settings | File Templates.
- --%>
- <%@ page contentType="text/html;charset=UTF-8" language="java" %>
- <html>
- <head>
- <title></title>
- </head>
- <body>
- 对不起,登录失败,用户名密码错误!
- </body>
- </html>
9、启动tomcat,在浏览器地址栏输入http://localhost:8080/login.jsp得到登录界面:
转载出处:http://blog.csdn.net/w_basketboy24/article/details/9336641