`
收藏列表
标题 标签 来源
struts2+json=ajax web
/**
 * 通过部门编号获取部门信息
 * @param deptid
 */
public List<Emp> findEmpByByDeptID(int deptid) {
    Session session=Template.getSession();
    String hql = "select emp from Emp emp left join fetch emp.dept where           emp.dept.deptid='"+ deptid + "'";
    Query query = session.createQuery(hql);
    List<Emp> emps = query.list();
    session.close();
    return emps;
}



public String findEmpBydeptID() {
	emps=this.getEmpservice().findEmpByByDeptID(dept.getDeptid());
	JSONArray jsonarray=new JSONArray();
	jsonarray.put(emps).toString();
	return "success";
}


<package name="emp" extends="json-default">
  <action name="findemp" class="com.chinasoft.action.EmpAction" method="findEmpBydeptID">
	<result type="json">
	    <param name="excludeProperties">empservice</param>
	</result>
  </action>    	
</package>



$(function(){
    $("#dept").change(function(){
	var $dval=$(this).val();
	$.getJSON("<%=path%>/emp/findemp.action?dept.deptid="+$dval,function(data){
	   var strHTML='<select name="" id="ddd"><option value="">--请选择--</option>';
		$.each(data.emps,function(i,v){
			strHTML+='<option value="'+v.empid+'">"'+v.empname+'"</option>';
		})
		strHTML+='</select>';
		$("#emp").html(strHTML);
	})
     })
})


servlet+json=ajax 2 web
public List<Dept> getDept2() {
		List<Dept> deptList  = new ArrayList<Dept>();
		Connection conn = Template.getConnection();
		PreparedStatement prestmt = null;
		ResultSet rs = null;
		String sql = "select * from dept";
		conn = super.getConnection();
		try {
			prestmt = conn.prepareStatement(sql);
			rs = prestmt.executeQuery();
			while (rs.next()) {
				Dept dept = new Dept();
				dept.setDeptid(rs.getInt(1));
				dept.setDeptname(rs.getString(2));
				dept.setDeptdesc(rs.getString(3));
				deptList.add(dept);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return deptList;
	}




public void show2(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		response.setContentType("text/json");
		List<Dept> deptList  = this.getDepttest().getDept2();
		JSONArray jsonArray = new JSONArray();
		for(int i=0;i<deptList.size();i++){
			JSONObject object = new JSONObject();
			try {
				object.put("deptid", deptList.get(i).getDeptid());
				object.put("deptname", deptList.get(i).getDeptname());
				object.put("deptdesc", deptList.get(i).getDeptdesc());
				jsonArray.put(object);
			} catch (JSONException e) {
				e.printStackTrace();
			}
		}
		response.getWriter().print(jsonArray.toString());
	}


<script type="text/javascript">
  		$(function(){
  			var html = "<table><tr><td>编号</td><td>部门名称</td><td>部门描述</td>    <td>操作</td><tr>";
  			$.getJSON("<%=path%>/servlet/DeptShowServlet.do?method=show",function(data){
  				$.each(data,function(i,v){
  					html += "<tr><td>"+v.deptid+"</td><td>"
  					+v.deptname+"</td><td>"
  					+v.deptdesc+"</td><td><a href=\"http://www.baidu.com\">删除</a></td></tr>";
  				});
  				html+="</table>";
  				$("#main").html(html);
  			})
  		})
  	</script>
servlert+json=ajax 1 web
	/**
	 * 查询数据
	 * 
	 * @return
	 */
	public String getDept() {
		Connection conn = Template.getConnection();
		PreparedStatement prestmt = null;
		ResultSet rs = null;
		JSONArray array = new JSONArray();
		String sql = "select * from dept";
		conn = super.getConnection();
		try {
			prestmt = conn.prepareStatement(sql);
			rs = prestmt.executeQuery();
			while (rs.next()) {
				JSONObject object = new JSONObject();
				object.put("deptid", rs.getString(1));
				object.put("deptname", rs.getString(2));
				object.put("deptdesc", rs.getString(3));
				array.put(object);
			}
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (JSONException e) {
			e.printStackTrace();
		}
		return array.toString();
	}


	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	//      response.setContentType("text/json");
		String method = request.getParameter("method");
		if (method.equals("show")) {
			this.show(request, response);
		} 
	}

	public void show(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
		PrintWriter out = response.getWriter();
		out.print(this.getDepttest().getDept());
	}


  	<script type="text/javascript">
  		$(function(){
  			var html = "<table><tr><td>编号</td><td>部门名称</td><td>部门描述</td><td>操作</td><tr>";
  			$.getJSON("<%=path%>/servlet/DeptShowServlet.do?method=show",function(data){
  				$.each(data,function(i,v){
  					html += "<tr><td>"+v.deptid+"</td><td>"
  					+v.deptname+"</td><td>"
  					+v.deptdesc+"</td><td><a href=\"http://www.baidu.com\">删除</a></td></tr>";
  				});
  				html+="</table>";
  				$("#main").html(html);
  			})
  		})
  	</script>
Spring配置文件2 web
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	
	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/laohutu"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.hbm2ddl.auto">
						update
				</prop>
				<prop key="hibernate.show_sql">
						true
				</prop>
				<prop key="hibernate.format_sql">
						true
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
				<value>com/hutu/po/Dept.hbm.xml</value></list>
		</property>
	</bean>
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="deptProxy" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="target" ref="deptservice"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
	<bean id="deptdao" class="com.hutu.dao.DeptDao">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="deptservice" class="com.hutu.service.DeptService">
		<property name="deptdao" ref="deptdao"></property>
	</bean>
	<bean id="deptaction" class="com.hutu.action.DeptAction">
		<property name="deptservice" ref="deptProxy"></property>
	</bean>
	</beans>
Spring配置文件1 web
<?xml version="1.0" encoding="UTF-8"?>
<beans
	xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">
	<bean id="datasource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
		<property name="driverClassName" value="com.mysql.jdbc.Driver"></property>
		<property name="url" value="jdbc:mysql://127.0.0.1:3306/laohutu"></property>
		<property name="username" value="root"></property>
		<property name="password" value="root"></property>
	</bean>
	
	<bean id="sessionFactory"
		class="org.springframework.orm.hibernate3.LocalSessionFactoryBean">
		<property name="dataSource" ref="dataSource"></property>
		<property name="hibernateProperties">
			<props>
				<prop key="hibernate.dialect">
					org.hibernate.dialect.MySQLDialect
				</prop>
				<prop key="hibernate.hbm2ddl.auto">
						update
				</prop>
				<prop key="hibernate.show_sql">
						true
				</prop>
				<prop key="hibernate.format_sql">
						true
				</prop>
			</props>
		</property>
		<property name="mappingResources">
			<list>
			<value>com/huawei/spring/po/Dept.hbm.xml</value></list>
		</property>
	</bean>
	<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="transactionInterceptor" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager" ref="transactionManager"></property>
		<property name="transactionAttributes">
			<props>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="saveOrUpdate*">PROPAGATION_REQUIRED</prop>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
				<prop key="find*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
	
 <bean  class="org.springframework.aop.framework.autoproxy.BeanNameAutoProxyCreator">    
   <property name="proxyTargetClass" >    
		 <value>true</value>    
    </property>  
   <property name="beanNames">    
    <value>*Service</value>    
   </property>    
   <property name="interceptorNames">    
    <list>  
     <value>transactionInterceptor</value>    
    </list>    
   </property>    
</bean> 

 <bean id="DeptDAO" class="com.huawei.spring.dao.DeptDAO">
 	<property name="sessionFactory">
 		<ref bean="sessionFactory" />
 	</property>
 </bean>
 <bean id="DeptService" class="com.huawei.spring.service.DeptService">
 	<property name="deptdao" ref="DeptDAO"></property>
 </bean>
<bean id="DeptServlet" class="com.huawei.spring.servlet.DeptServlet">
	<property name="deptservice" ref="DeptService"></property>
</bean>
 </beans>
捕获404-505 web
在写程序时,别忘记给程序加上错误捕获处理。 
在web.xml中添加以下内容,捕获错误。 


<error-page> 
        <error-code>500</error-code> 
        <location>/error.jsp</location> 
    </error-page> 
    <error-page> 
        <error-code>400</error-code> 
        <location>/index.jsp</location> 
    </error-page> 
    <error-page> 
        <error-code>403</error-code> 
        <location>/403.jsp</location> 
    </error-page> 
    <error-page> 
        <error-code>404</error-code> 
        <location>/404.jsp</location> 
    </error-page> 

<?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"> 
    <!-- 配置错误处理 --> 
    <error-page> 
       <error-code>404</error-code> 
       <location>/404.html</location> 
    </error-page> 
    <error-page> 
       <error-code>505</error-code>                             
       <location>/505.html</location> 
    </error-page> 
    <!-- 配置异常处理 --> 
    <error-page> 
       <exception-type>javax.servle.ServletException</exception-type> 
       <location>/error.html</location> 
    </error-page> 
    <error-page> 
       <exception-type>java.lang.NullPointerException</exception-type> 
       <location>/error.html</location> 
    </error-page> 
</web-app> 


500错误: 服务器内部错误,或是程序有问题。 
400错误:URL 地址请求错误。 
403错误:权限错误。 
404错误:客户端请求的网页不存在。 
百度上搜索的错误:HTTP: 
HTTP 
1xx-信息提示 
这些状态代码表示临时的响应。客户端在收到常规响应之前,应准备接收一个或多个1xx响应。 
100-继续。 
101-切换协议。 
2xx-成功 
这类状态代码表明服务器成功地接受了客户端请求。 
200-确定。客户端请求已成功。 
201-已创建。 
202-已接受。 
203-非权威性信息。 
204-无内容。 
205-重置内容。 
206-部分内容。 
3xx-重定向 
客户端浏览器必须采取更多操作来实现请求。例如,浏览器可能不得不请求服务器上的不同的页面,或通过代理服务器重复该请求。 
301-对象已永久移走,即永久重定向。 
302-对象已临时移动。 
304-未修改。 
307-临时重定向。 
4xx-客户端错误 
发生错误,客户端似乎有问题。例如,客户端请求不存在的页面,客户端未提供有效的身份验证信息。400-错误的请求。 
401-访问被拒绝。IIS定义了许多不同的401错误,它们指明更为具体的错误原因。这些具体的错误代码在浏览器中显示,但不在IIS日志中显示: 
401.1-登录失败。 
401.2-服务器配置导致登录失败。 
401.3-由于ACL对资源的限制而未获得授权。 
401.4-筛选器授权失败。 
401.5-ISAPI/CGI应用程序授权失败。 
401.7–访问被Web服务器上的URL授权策略拒绝。这个错误代码为IIS6.0所专用。 
403-禁止访问:IIS定义了许多不同的403错误,它们指明更为具体的错误原因: 
403.1-执行访问被禁止。 
403.2-读访问被禁止。 
403.3-写访问被禁止。 
403.4-要求SSL。 
403.5-要求SSL128。 
403.6-IP地址被拒绝。 
403.7-要求客户端证书。 
403.8-站点访问被拒绝。 
403.9-用户数过多。 
403.10-配置无效。 
403.11-密码更改。 
403.12-拒绝访问映射表。 
403.13-客户端证书被吊销。 
403.14-拒绝目录列表。 
403.15-超出客户端访问许可。 
403.16-客户端证书不受信任或无效。 
403.17-客户端证书已过期或尚未生效。 
403.18-在当前的应用程序池中不能执行所请求的URL。这个错误代码为IIS6.0所专用。 
403.19-不能为这个应用程序池中的客户端执行CGI。这个错误代码为IIS6.0所专用。 
403.20-Passport登录失败。这个错误代码为IIS6.0所专用。 
404-未找到。 
404.0-(无)–没有找到文件或目录。 
404.1-无法在所请求的端口上访问Web站点。 
404.2-Web服务扩展锁定策略阻止本请求。 
404.3-MIME映射策略阻止本请求。 
405-用来访问本页面的HTTP谓词不被允许(方法不被允许) 
406-客户端浏览器不接受所请求页面的MIME类型。 
407-要求进行代理身份验证。 
412-前提条件失败。 
413–请求实体太大。 
414-请求URI太长。 
415–不支持的媒体类型。 
416–所请求的范围无法满足。 
417–执行失败。 
423–锁定的错误。 
5xx-服务器错误 
服务器由于遇到错误而不能完成该请求。 
500-内部服务器错误。 
500.12-应用程序正忙于在Web服务器上重新启动。 
500.13-Web服务器太忙。 
500.15-不允许直接请求Global.asa。 
500.16–UNC授权凭据不正确。这个错误代码为IIS6.0所专用。 
500.18–URL授权存储不能打开。这个错误代码为IIS6.0所专用。 
500.100-内部ASP错误。 
501-页眉值指定了未实现的配置。 
502-Web服务器用作网关或代理服务器时收到了无效响应。 
502.1-CGI应用程序超时。 
502.2-CGI应用程序出错。application. 
503-服务不可用。这个错误代码为IIS6.0所专用。 
504-网关超时。 
505-HTTP版本不受支持。
获取服务器IP web
方案一:
public static String getServerIp() {
		InetAddress address;
		String ip;
		try {
			address = InetAddress.getLocalHost();
			ip = Utils.isNull(address.getHostAddress()) ? "localhost" : address
					.getHostAddress();
		} catch (UnknownHostException e) {
			return "localhost";
		}
		return ip;
	}


方案二:
public String  getServerIp(){  
    try {  
        Enumeration netInterfaces = NetworkInterface.getNetworkInterfaces();  
        InetAddress ip = null;  
        while (netInterfaces.hasMoreElements()) {  
            NetworkInterface ni = (NetworkInterface) netInterfaces  
                    .nextElement();  
            ip = (InetAddress) ni.getInetAddresses().nextElement();  
            SERVER_IP = ip.getHostAddress();  
            if (!ip.isSiteLocalAddress() && !ip.isLoopbackAddress()  
                    && ip.getHostAddress().indexOf(":") == -1) {  
                SERVER_IP = ip.getHostAddress();  
                break;  
            } else {  
                ip = null;  
            }  
        }  
    } catch (SocketException e) {  
        // TODO Auto-generated catch block  
        e.printStackTrace();  
    }  
     
     return SERVER_IP;  
   }  

方案三:
public static String getLocalIP(){     
        InetAddress addr = null;     
                    try {  
                        addr = InetAddress.getLocalHost();  
                    } catch (UnknownHostException e) {  
                        // TODO Auto-generated catch block  
                        e.printStackTrace();  
                    }     
                  
                byte[] ipAddr = addr.getAddress();     
                String ipAddrStr = "";     
                for (int i = 0; i < ipAddr.length; i++) {     
                    if (i > 0) {     
                        ipAddrStr += ".";     
                    }     
                    ipAddrStr += ipAddr[i] & 0xFF;     
                }     
                //System.out.println(ipAddrStr);     
                        return ipAddrStr;     
        }    
web前台复选框解决方案 web
<body style="text-align: center;">
    <form action="<%=path%>/servlet/EmpServlet.action?method=updateEmp&empid=${emp.empid}" method="post">
     <table bgcolor="skyblue" border="1" bordercolor="gray" cellpadding="0" cellspacing="0" align="center" style="text-align: center;">
      <tr>
       <td>员工名称</td>
       <td><input name="empname" value="${emp.empname }"></td>
      </tr>
      <tr>
       <td>员工性别</td>
       <td>
        <input type="radio" name="empsex" value="男" <c:if test="${emp.empsex=='男' }">checked="checked"</c:if>>男
        <input type="radio" name="empsex" value="女" <c:if test="${emp.empsex=='女' }">checked="checked"</c:if>>女
       </td>
      </tr>
      <tr>
       <td>员工角色</td>
       <td>
        <c:forEach var="allrole" items="${allroles }">
         <input type="checkbox" name="roleid" value="${allrole.roleid}" 
         <c:forEach var="role" items="${roles}">
         <c:if test="${role.roleid==allrole.roleid }">checked="checked"</c:if> 
        </c:forEach>>
         ${allrole.rolename}
        </c:forEach>
        
       </td>
      </tr>
      <tr>
       <td colspan="2" align="center"><input type="submit" value="提交"></td>
      </tr>
     </table>
    </form>
  </body>
servlet登陆拦截器 web

import java.io.IOException;

import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;

/**
 * 登陆拦截器
 *
 */
public class LoginVerify implements Filter {

	public void destroy() {
		System.out.println("过滤器销毁");
	}

	public void doFilter(ServletRequest request, ServletResponse response,
			FilterChain chain) throws IOException, ServletException {
		HttpServletRequest hr = (HttpServletRequest)request;
		HttpSession session = hr.getSession();
		//如果session 部位空 ,则可以浏览网页或者系统
		if(session.getAttribute("islog")!=null){
			chain.doFilter(request, response);
		}else{
			request.getRequestDispatcher("logn.jsp").forward(request, response);
		}
	}

	public void init(FilterConfig filterConfig) throws ServletException {
		System.out.println("销毁过滤器");
	}

}
前台温馨提示 web
	/**
	 * @删除学生信息
	 * @return
	 * @throws IOException 
	 */
	public String deleteStudent() throws IOException {
		PrintWriter out=ServletActionContext.getResponse().getWriter();
		this.getStudentservice().deleteStudent(student.getStudentid());
		this.jump("xuesheng/showStudent.action", "delete success", out);
		return null;
	}

	/**
	 * 正删改操作成功后给用户的提示框
	 * @param url 目标地址
	 * @param message 跳转到目标页面后消息框
	 * @param out 输出对象
	 */
	public void jump(String url, String message, PrintWriter out) {
		out.print("<script language='javascript'>alert('" + message
				+ "');window.location='" + url + "'</script>");
	}




struts.xml中配置

  <action name="showStudent" class="org.hutu.sims.action.StudentAction" method="showStudent">
         <result name="success">/pages/stu/studentlist.jsp</result>
       </action>
       <action name="deleteStudent" class="org.hutu.sims.action.StudentAction" method="deleteStudent">
       </action>
Global site tag (gtag.js) - Google Analytics