通过jsp+servlet+javabean,进行访问数据库

上篇由于只是单纯的通过jsp+javabean,进行数据库的访问,所以整个页面代码偏多,而且不利于维护,所以后期进行了jsp+servlet的整改

servlet的doget方法内代码

request.setCharacterEncoding("UTF-8");
		List li = null;
		String sql = null;
		try {
			sql =request.getParameter("name");
			System.out.println(sql);
			cdaoservice c = new cdaoservletimpl();
			li = c.quaryfaren(sql);
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		request.setAttribute("li", li);
		request.getRequestDispatcher("/Search.jsp").forward(request, response);
小解:
request.setCharacterEncoding("UTF-8"); 是保证servlet接收的数据是utf-8格式
sql =request.getParameter("name");是将接收到的数据放到字符串sql中
li = c.quaryfaren(sql); 是通过调用cdaoservice中的quaryfaren方法进行查询,并将查到的数据放到集合li中
request.setAttribute("li", li);

request.getRequestDispatcher("/Search.jsp").forward(request, response); 这俩句则是将获得的数据通过requqest方法给传回jsp端

第一个jsp页面内容

<form action="${pageContext.request.contextPath}/servlet/faren" method="post">
    <input type="text" name = "name" style="width: 400px;height: 40px;"/>
    <input type="submit" value="查询" style="width:60px; height: 40px;">
</form>

第二个jsp页面

<c:forEach items="${li}" var="li">  
		<table align="center" style="width: 90%; color: #7a808f; padding-top:20px; padding-bottom:20px;  border: 1px solid rgba(0,0,0,0.4); border-collapse: collapse;" cellpadding="5" >
 				
 				<tr >
 					<td width="6%" align="center"> </td>
				<td width="30%" ><a href="${pageContext.request.contextPath}/servlet/stool?name=${li.CORP_NAME}"> 
				<font size="5" color="#FF6100">${li.CORP_NAME}</font> </a> </td>
				<td width="10%" align="center"> </td>
				<td width="27%" rowspan="4" style="text-align: center;">${li.START_DATE}</td>
				<td width="27%" rowspan="4" style="text-align: center;">${li.REG_CAPI}</td>
				</tr>
			<tr >
				<td width="5%" align="center"> </td>
				<td ><span>法定代表人:</span>  ${li.OPER_MAN_NAME}</td>
				<td> </td>
			</tr>
			<tr >
				<td width="5%" align="center"> </td>
				<td ><span>电话:</span> ${li.TEL}</td>
				<td></td>
				
			</tr>
			<tr >
				<td width="5%" align="center"> </td>
				<td ><span>公司地址:</span> ${li.ADDR}</td>
				<td> </td>
			</tr>
		</table>
	</c:forEach>

小解:

<c:forEach items="${li}" var="li"> </c:forEach> 是jsp页面通过jstl接收servlet传值,可以自己从其他渠道了解下,${li.ADDR} 则是jstl获取集合list中的值得方法之一,用这种方式,就可以实现jsp,servlet,javabean的三者访问数据库连接

结尾:最后想说,jsp+javabean是前后端不分离的过程,后期维护艰难,jsp+servlet+javabean是前后端半分离的过程,没有前端的查找显示,后端不会运行,同样,没有后端的访问传值,前端的页面也是不能显示,现在更多的开发是前后端完全分离,俩者开发互不影响,日后深入了解以后,再细究


经验分享 程序员 微信小程序 职场和发展