1.创建数据表,与servlet中相同
2.创建web项目,添加struts2模块,url 选 /*,web.xml中会自动注册struts2,同时src下会自动生成struts2配置文件struts.xml
3.创建JDBC以及两个pojo类
4.编写登录页面login.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    
    <title>登录页面</title>
 
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <s:form action="LoginAction" method="post" theme="simple">
    	<table>
    		<caption>用户登录</caption>
    		<tr>
    			<td>用户名</td>
    			<td>
    				<s:textfield name="user.username" size="20" />
    			</td>
    		</tr>
    		<tr>
    			<td>密码</td>
    			<td>
    				<s:password name="user.password" size="20" />
    			</td>
    		</tr>
    	</table>
    	<s:submit value="提交" />
    	<s:reset value="重置" />
    	<input type="button" value="注册" />
    </s:form>
  </body>
</html>
5.编写LoginAction,并配置struts.xml
public class LoginAction extends ActionSupport{
	private UserTable user;
	
	public String execute() throws Exception{
		ActionContext context=ActionContext.getContext();
		Map session=context.getSession();
		
		
		String username=user.getUsername();
		String password=user.getPassword();
		boolean validated=false;
		UserTable validatedUser=null;
		
		
		SqlserverDBConn DBConn=new SqlserverDBConn();
		String sql="select * from TEST..userTable";
		ResultSet rs=DBConn.executeQuery(sql);
		while(rs.next()){
			if(rs.getString("username").equals(username)&&rs.getString("password").equals(password)){
				validatedUser=new UserTable();
                   validatesUser.setId(rs.getInt(1));
				validatedUser.setUsername(username);
				validatedUser.setPassword(password);
				session.put("user", validatedUser);
				validated=true;
			}
		}
		if(validated){
			List<LyTable> al=new ArrayList();
			String listSql="select * from TEST..lyTable";
			rs=DBConn.executeQuery(listSql);
			LyTable ly=null;
			while(rs.next()){
				ly=new LyTable();
				ly.setId(rs.getInt(1));
				ly.setUserId(rs.getInt(2));
				ly.setDate(rs.getDate(3));
				ly.setTitle(rs.getString(4));
				ly.setContent(rs.getString(5));
				al.add(ly);
			}
			rs.close();
			DBConn.closeStmt();
			DBConn.closeConn();
			session.put("al", al);
			return SUCCESS;
		}
		else{
			return ERROR;
		}
	}
	
	public UserTable getUser() {
		return user;
	}
	public void setUser(UserTable user) {
		this.user = user;
	}
}
struts.xml
    <struts>
	    <package name="strutsPackage" extends="struts-default">
		    <action name="LoginAction" class="org.action.LoginAction">
			    <result name="success">main.jsp</result>
		    </action>
	    </package>
    </struts>
6.编写main.jsp
<html>
  <head>
    
    <title>留言板信息</title>
 </head>
  
  <body>
  	<s:form action="add.jsp" method="post" theme="simple">
  		<table border="1">
  			<caption>留言信息</caption>
  			<tr>
  				<th>留言人姓名</th>
  				<th>留言时间</th>
  				<th>留言标题</th>
  				<th>留言内容</th>
  			</tr>
  		<%
  			SqlserverDBConn DBConn=new SqlserverDBConn();
  			Connection conn=DBConn.getConnection();
  			PreparedStatement pstmt=null;
  			List<LyTable> al=(List<LyTable>)session.getAttribute("al");
  			Iterator it=al.iterator();
  			while(it.hasNext()){
  				LyTable ly=(LyTable)it.next();
  				String username=null;
  				String sql="select username from TEST..userTable where id=?";
  				pstmt=conn.prepareStatement(sql);
  				pstmt.setInt(1, ly.getUserId());
  				ResultSet rs=pstmt.executeQuery();
  				//String username=rs.getString(1);
  				while(rs.next()){
  					 username=rs.getString(1);
  				}
  		 %>
  		 		<tr>
  		 			<td><%=username%></td>
  		 			<td><%=ly.getDate() %></td>
  		 			<td><%=ly.getTitle() %></td>
  		 			<td><%=ly.getContent() %></td>
  		 		</tr>
  		 <%
  			}
  		 %>
  		</table>
		<s:submit value="添加留言" />  	
  	
  	</s:form>
  </body>
</html>
7.编写register.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-tags" prefix="s" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>  
    <title>注册</title>
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
    <s:form action="RegisterAction" method="post" theme="simple">
    	<table>
    		<caption>用户注册</caption>
    		<tr>
    			<td>用户名</td>
    			<td>
    				<s:textfield name="user.username" />
    			</td>
    		</tr>
    		<tr>
    			<td>密码</td>
    			<td><s:password name="user.password" /></td>
    		</tr>
    	</table>
    	<s:submit value="确认" />
    	<s:reset  value="重置" />
    </s:form>
  </body>
</html>
8.RegisterAction
public class RegisterAction extends ActionSupport{
	private UserTable user=null;
	
	public String execute(){
		ActionContext context=ActionContext.getContext();
		Map session=context.getSession();
		
		SqlserverDBConn DBConn=new SqlserverDBConn();
		Connection conn=DBConn.getConnection();
		String sql="insert into TEST..userTable (username,password) values(?,?)";
		PreparedStatement pstmt=null;
		try {
			pstmt = conn.prepareStatement(sql);
			pstmt.setString(1, user.getUsername());
			pstmt.setString(2, user.getPassword());
			if(user!=null){
				pstmt.executeUpdate();
			}
			pstmt.close();
			DBConn.closeConn();
			return SUCCESS;
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return ERROR;
		}
	}
	public UserTable getUser() {
		return user;
	}
	public void setUser(UserTable user) {
		this.user = user;
	}
}
***一定要加user的get/set方法否则会报错
9.add.jsp
<html>
  <head>
    
    <title>添加留言</title>
    
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css">
	-->
  </head>
  
  <body>
  	<s:form action="AddAction" method="post" theme="simple">
  		<table border="1">
  			<caption>添加留言</caption>
  			<tr>
  				<td>留言标题</td>
  				<td>
  					<s:textfield name="ly.title" />
  				</td>
  			</tr>
  			<tr>
  				<td>留言内容</td>
  				<td>
  					<s:textarea name="ly.content" rows="10" cols="20"></s:textarea>
  				</td>
  			</tr>
  		</table>
  		<s:submit value="添加" />
  		<s:reset value="重置" />
  	</s:form>
  </body>
</html>
10.AddAction
public class AddAction extends ActionSupport{
	private LyTable ly;
	
	public String execute(){
		ActionContext context=ActionContext.getContext();
		Map session=context.getSession();
		
		String title=ly.getTitle();
		String content=ly.getContent();
		UserTable user=null;
		user=(UserTable)session.get("user");
		LyTable ly=new LyTable();
		ly.setUserId(user.getId());
		ly.setDate(new Date(System.currentTimeMillis()));
          //ly.setTitle(ly.getTitle())似乎有错
		ly.setTitle(title);
		ly.setContent(content);
		List<LyTable> al=(List<LyTable>)session.get("al");
		al.add(ly);
		
		SqlserverDBConn DBConn=new SqlserverDBConn();
		String sql="insert into TEST..lyTable (userId,date,title,content) values(?,?,?,?)";
		PreparedStatement pstmt=null;
		Connection conn=DBConn.getConnection();
		try {
			pstmt=conn.prepareStatement(sql);
			pstmt.setInt(1, ly.getUserId());
			pstmt.setDate(2, ly.getDate());
			pstmt.setString(3, ly.getTitle());
			pstmt.setString(4, ly.getContent());
			pstmt.executeUpdate();
			pstmt.close();
			DBConn.closeConn();
			return SUCCESS;
		} catch (SQLException e) {
			e.printStackTrace();
			return ERROR;
		}
	}
	public LyTable getLy() {
		return ly;
	}
	public void setLy(LyTable ly) {
		this.ly = ly;
	}
}
***
//ly.setTitle(ly.getTitle())似乎有错
                    
                
                
                
            
        
浙公网安备 33010602011771号