CircleSmart的个人博客

一步一个脚印

博客园 首页 新随笔 联系 订阅 管理

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())似乎有错

 

posted on 2017-03-18 17:40  circlesmart  阅读(481)  评论(0编辑  收藏  举报