⑴ 怎么把struts2源码导入到eclipse
方法如下:
右击project,选择 Build Path --> Add External Archives.. 选择lib所在目录。
建议建立一个UserLib:Windows -- java -- Build Path -- User Libraries ,在右边点击New,新建一个名为struts2的lib name, 然后点击Add Jars,把对应的jar包导入进去。
使用UserLib:右击项目,Add Library -- User Library -- 选择建的struts2的lib就Ok了。
⑵ 如何将源码包的项目导入myeclipse
1、打开myeclipse,新建一个Web Project,然后部署好struts2的环境,然后选择struts2的jar包,右击,选择properties
⑶ struts2的jar包在哪里
你是要下载struts2的jar包陪配吗?那么访问struts2的官网即可
http://struts.apache.org/
点击Download,进入培乱铅下载页面,上面是struts2的下载连接,下面是struts1的下载连接
struts-2.3.24-all.zip 所有包,包括下面4个部分(jar包,源代码,文档,配好例子)
struts-2.3.24-apps.zip 例子
struts-2.3.24-lib.zip jar包和其他一些依赖jar包
struts-2.3.24-docs.zip 文档
struts-2.3.24-src.zip 源代码
⑷ 如何为struts 的struts2-core.jar文件添加源码
我前几天也跟你有一样的想法,研究了一下struts2的源码。
建一个空白的web工程(myeclipse),正确引入struts2的jar。做个最简单的例子跑通就行。
struts2的源码主要是struts2-core-2.xxx.jar和xwork-core-2.xxxx.jar 将这两个jar与源码包关联就可以了。这样可以看到源码了。
而且如果你想测试某个类,可以自己在自己的工程了建于struts2同名的包复制源码,加上自己的测试代码,跑起来会引用你写的,而其他的类则会去struts2的包类引用。
开始有点乱,看了三四天才整出点头绪,祝你好运!
⑸ 我想知道诸如:ActionContext,ActionSupport,SessionAware这样的struts2常用的类的源码
(1)http://struts.apache.org/download.cgi#struts231-SNAPSHOT到Struts的官网下载Struts的源码(选择好匹配的版本),
(2)键好然后再MyEclipse任意的java文件中敲一个你要查看消悔的类如“ActionSupport”,按下ctrl键+左击“ActionSupport",
(3)此时由于没有关联源代码,所以会出现一个提示页面,点击”attach file“按钮选择刚才下载的zip文件应该拿亮正就可以了。
p.s.:我下载是-all.zip那个包,解压时里面包含了一个src源代码目录,在第(3)我选择关联文件夹,能成功查看代码。
⑹ 求struts2的注册页面(含数据库连接+插入数据)的源代码,
regist.jsp文件
<%@ 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>Regist</title>
</head>
<body>
<form action="regist.action" method="post">
<table>
<tr>
<td>Name:</td>
<td><input type = "text" name = "name"></td>
</tr>
<tr>
<简唯td>Password:</td>
<td><input type = "text" name = "password"></td>
</tr>
<tr>
<td><input type = "submit" value="提交"></td>
<td><input type = "reset" value="清空"></td>
</tr>
</table>
</form>
</body>
</html>
success.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
Success.....
</body>
</html>
error.jsp文件
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!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=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
error.......
</body>
</html>
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.FilterDispatcher</filter-class>-->
<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>
struts.xml文件
<?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="tags" extends="struts-default">
<action name="regist" class="test.RegistAction">
<result name="success">/success.jsp</result>
<result name="error">/error.jsp</result>
</action>
</package>
</struts>
dbcp.properties文件
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/test
username=root
password=jftt
initialSize=2
maxActive=10
maxIdle=2
minIdle=1
maxWait=30000
DbUtil.java文件
package test;
import java.sql.Connection;
import java.sql.SQLException;
import java.util.Properties;
import javax.sql.DataSource;
import org.apache.commons.dbcp.BasicDataSourceFactory;
public class DbUtil {
private static DataSource ds = null;
static{
try{
Properties props = new Properties();
props.load(DbUtil.class.getClassLoader().getResourceAsStream("dbcp.properties"));
ds = BasicDataSourceFactory.createDataSource(props);
}catch(Exception e){
e.printStackTrace();
}
}
public static Connection getConnection(){
try {
return ds.getConnection();
} catch (SQLException e) {
e.printStackTrace();
return null;
}
}
public static void closeConnection(Connection conn){
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
RegistAction.java文件
package test;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.sql.Statement;
public class RegistAction {
private String name;
private String password;
public String execute(){
String sql = "insert into d_user " +
" (name,password)" +
" values (?,?)";
Connection conn = DbUtil.getConnection();
PreparedStatement ps;
if(name == null||name.length()==0||password == null||password.length()==0){
return "error";
}
try {
ps = conn.prepareStatement(sql,Statement.RETURN_GENERATED_KEYS);
ps.setString(1, name);
ps.setString(2, password);
ps.executeUpdate();
return "success";
} catch (SQLException e) {
e.printStackTrace();
return "error";
}
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
}
新建一个包叫test
里面放置
DbUtil.java
RegistAction.java
文件dbcp.properties和文件struts.xml
放在test包外面,跟test包平级;
web.xml文件放在WEB-INF文件夹里面
error.jsp
regist.jsp
success.jsp
这三个界面放在WEB-INF文件夹外面,跟WEB-INF文件夹平级
需要导包:
大概如下,版本不同没有关系
commons-collections-3.1.jar
commons-dbcp-1.2.2.jar
commons-fileupload-1.2.1.jar
commons-io-1.3.2.jar
commons-logging-1.0.4.jar
commons-pool.jar
freemarker-2.3.15.jar
log4j-1.2.11.jar
mysqldriver.jar
ognl-2.7.3.jar
servlet-api.jar
struts2-core-2.1.8.jar
struts2-json-plugin-2.1.8.jar
xwork-core-2.1.6.jar
⑺ struts2中哪位大侠知道怎么将struts.xml放在src下面某个夹包里面
一、方式1、将主配置文件struts.xml放在源文件夹下,如(src-resource/struts.xml)。
web.xml中配置相关路径
<!--3_5*_*struts2核心过滤器-->
<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>
-----------方式1 的浏览器页面跳转成功-----------------------------
二、我也在尝试将主配置文件struts.xml放在普通包下,如(src/com/ljx/jeej/_29Struts2/_01Struts2Frame/struts.xml)。
方式2_1、
web.xml中配置相关路径
<!--3_5*_*struts2核心过滤器-->
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
<!--自定义struts2核心过滤器struts.xml的位置-->
<init-param>
<!--这里如果写filterConfig绝对是错误的,各位小心;应该写config-->
<param-name>config</param-name>
<!--自定义Struts2主配置文件位置
src源文件夹根目录下是classpath;WebRoot目录下是/。这里必须采用相对于/WEB-INF/classes的路径。
1.1、【classpath:】此配置表示告诉web容器去classpath(WEB-INF/classes和WEB-INF/lib)中去加载指定名称的配置文件,若是有同名文件,则只会加载一个。
1.2、【classpath*:】此配置表示告诉web容器去classpath(WEB-INF/classes和WEB-INF/lib)中去加载指定名称的配置文件,若是有同名文件则会码型全部加载。
2、/WEB-INF/classes/***相对于web容器项目路径
3、**/_01Struts2Frame/struts.xml悔咐任意路径下
-->
<param-value>struts-default.xml,struts-plugin.xml,com/ljx/jeej/_29Struts2/_01Struts2Frame/struts.xml</param-value>迟前猜
</init-param>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
---方式2_1 的浏览器页面显示"hello world!"如下,说明“配置成功”----
参考链接"如何自定义配置struts.xml位置"网页链接
参考链接"web.xml配置struts2核心过滤器原理"网页链接
⑻ struts2源代码怎么导入到eclipse中
1.框架搭建1.1将struts2中的jar文件导入到项目中commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,freemarker-2.3.15.jar,ognl-2.7.3.jarstruts2-core-2.1.8.1.jar,xwork-core-2.1.6.jar1.2将struts.xml文件拷贝到项目的src目录下1.3修改web.xml文件添加:struts2org.apache.struts2.dispatcher.ng.filter./*2.action中方法的调用方式2.1自动方法调用(只能调用execute)2.2指定方铅败法调用(通过设置action标签穗档中的method属性)2.3动态方法调用(在调用时,在action后加!方法名称,如:login!deletUser)注意:2.4通配符调用3.action接收客户端参数的方式3.1直接在action中定义参数变量,并生成set和get方法3.2定义接收参数的类注意:都要猜激乱为action的成员变量提供get和set方法3.3让action实现ModelDriven接口,并实现里面的getModel方法4.获取request,session,application的方式4.1用ActionContext获取,实际上获取到的都是Map对象4.2用ServletActionContext获取,获取到的是基于ServletAPI的对象4.3让action实现RequestAware,SessionAware,ApplicationAware接口,并实现里面的方法5.四种转向5.1action转发到页面(默认)5.2action重定向到页面5.3action转发到actionlogin/loginlogin5.4action重定向到actionlogin