JavaWEB快速入门之后台模糊查询&评论管理&首页数据绑定以及include指令&前端登录【06】

一、后台模糊查询

             ① 运行admin.jsp之后,默认显示所有新闻。

             ② 在输入框中输入关键词点击搜索  跳转到本页面                  

             ③ 通过request内置对象获取当前模糊查询表单提交的关键词

             ④ 将指定编码的字符串进行解码,通过getBytes("编码"),构造函数new String()编码

        <!-- 实现admin.jsp页面中模糊查询的搜索功能(根据标题进行模糊查询) -->
				<div style = "width:100%;height:40px;text-align: center;line-height:40px; ">
					<form action = "admin.jsp" method = "post">
						<label>新闻标题</label>
						<!-- autocomplete 关闭自动提示 -->
						<input type = "text" name = "strName" autocomplete="off"/>
						<input type = "submit" value = "搜索"/>
					</form>
				</div>
				
				<%
					
					//编码设置
					request.setCharacterEncoding("utf-8");
					String strName = request.getParameter("strName");
					//搜索的关键词为中文  获取时会出现乱码    通过String类进行编码和解码
					System.out.println("模糊查询的关键词为:[解决前] "+strName);
					//sql语句
					String sql = "select * from tb_news";
					//第一次运行admin.jsp  strName为null  不能调用任何方法
					if(null!=strName){
						strName = new String(strName.getBytes("ISO-8859-1"),"utf-8");
				
						sql+=" where ntitle like '%"+strName+"%'";
					}
				%>
				


         

二、include指令

    include用来包含jsp文件和html文件

         ① 先封装脚部代码

         ② 通过jsp中的include指令进行引入第三方页面

<%@ include file="foot.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>后台-尾部封装页面</title>
</head>
<body>
<div id="site_link"> <a href="#">关于我们</a><span>|</span> <a href="#">Aboue Us</a><span>|</span> <a href="#">联系我们</a><span>|</span>
			<a href="#">广告服务</a><span>|</span> <a href="#">供稿服务</a><span>|</span> <a href="#">法律声明</a><span>|</span> <a href="#">招聘信息</a><span>|</span>
			<a href="#">网站地图</a><span>|</span> <a href="#">留言反馈</a> </div>
		<div id="footer">
			<p class="">24小时客户服务热线:010-68988888 &#160;&#160;&#160;&#160; <a href="#">常见问题解答</a> &#160;&#160;&#160;&#160;
				新闻热线:010-627488888<br />
				文明办网文明上网举报电话:010-627488888 &#160;&#160;&#160;&#160; 举报邮箱:<a href="#">jubao@jb-aptech.com.cn</a></p>
			<p class="copyright">Copyright &copy; 1999-2009 News China gov, All Right Reserver<br />
				新闻中国 版权所有</p>
		</div>
</body>
</html>


<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>新闻发布系统-后台主页</title>
		<link rel="stylesheet" type="text/css" href="css/admin.css" />
	</head>
	<body>
		<div id="header">
			<div id="welcom">欢迎使用新闻管理系统!</div>
		
				<ul class="classlist">
					<%
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						
						//将sql语句传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						//根据执行对象调用方法返回结果集对象
						ResultSet rs = ps.executeQuery();
						//遍历结果集
						while(rs.next()){
							out.println("<li> <a href='admin_newsDetail.jsp?nid="+rs.getInt(1)+"'>"+rs.getString(3)+"</a> <span> 作者:"+rs.getString(4)+" &#160;&#160;&#160;&#160; <a href='admin_editNews.jsp?nid="+rs.getInt(1)+"'>修改</a> &#160;&#160;&#160;&#160; <a href='javascript:void(0)' onclick='clickdel(\""+rs.getInt(1)+"\")'>删除</a></span> </li>");
						}
						
					%>
				
					
					<li class='space'></li>
					<p align="right"> 当前页数:[1/3]&nbsp; <a href="#">下一页</a> <a href="#">末页</a> </p>
				</ul>
			</div>
		</div>
		
		
		<!-- 通过jsp中的include指令进行引入第三方页面 -->
		<%@ include file="foot.jsp" %>
	
		
	</body>
</html>

三、 首页数据绑定

          ① 与数据库进行交互显示所有主题(进行数据绑定)

          ② 为通过点击相应主题出现相应文章

          ③ 显示新闻

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ 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>新闻首页</title>
		<link rel="stylesheet" type="text/css" href="admin/css/main.css" />
	</head>
	<body>
		<div id="container">
			<div class="sidebar">
				<h1> <img src="admin/images/title_1.gif" alt="国内新闻" /> </h1>
				<div class="side_list">

				</div>
				<h1> <img src="admin/images/title_2.gif" alt="国际新闻" /> </h1>
				<div class="side_list">

				</div>
				<h1> <img src="admin/images/title_3.gif" alt="娱乐新闻" /> </h1>
		
			</div>
			<div class="main">
				<div class="class_type"> <img src="admin/images/class_type.gif" alt="新闻中心" /> </div>
				<div class="content">
				
					<!-- 3.index.jsp用户首页的新闻分类显示(数据绑定) -->
					<ul class="class_date">
						<li id='class_month'> 
						<a href = "index.jsp"><b>&nbsp;全部&nbsp;</b></a>
						<%
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						String url = "jdbc:oracle:thin:@localhost:1521:orcl";
						Connection conn = DriverManager.getConnection(url, "scott", "123");
				    	//sql
				    	String sql = "select * from tb_news_theme";
				    	PreparedStatement ps = conn.prepareStatement(sql);
						ResultSet rs = ps.executeQuery();
						//sql  select count(*) from tb_news_theme
						int count = 1;
						while(rs.next()){
							count++;
							out.println("<a href='index.jsp?username="+username+"&ntid="+rs.getInt(1)+"'><b> "+rs.getString(2)+" </b></a> ");
							//11 就是总记录数
							if(count%11==0){
								out.println("<br/>");
							}
						}
						%>
						</li>
					</ul>
					<!-- 当进入index.jsp页面后,手动点击对应的主题名称  跳转到本页面  获取当前点击的主题名称 -->
					<%
						username = request.getParameter("username");
						String tid  = request.getParameter("ntid");
						if(null!=tid){//说明点击了主题分类
							//根据点击的主题分类进行查询  where 条件
							sql = "select * from tb_news where ntid = "+Integer.valueOf(tid);
						}else{//第一次进来,没有点击主题分类
							sql = "select * from tb_news";//查询所有新闻
						}
					%>
					
					<!-- 新闻显示  start-->
					<ul class="classlist">
						<%
							//sql
							ps = conn.prepareStatement(sql);
							rs = ps.executeQuery();
							while(rs.next()){
								out.println("<li><a href='newRead.jsp?username="+username+"&nid="+rs.getInt(1)+"'> "+rs.getString(3)+" </a><span> "+rs.getString(8)+" </span></li>");
							}
						
						%>
						
					</ul>
				</div>
				<div class="picnews">
			
				</div>
			</div>
		</div>
		<div id="friend">
			<h1 class="friend_t"> <img src="admin/images/friend_ico.gif" alt="合作伙伴" /> </h1>
			<div class="friend_list">
	
			</div>
		</div>
	<!-- 通过jsp中的include指令进行引入第三方页面 -->
		<%@ include file="foot.jsp" %>
		
</html>

 四、前端登录

               ① 登录布局

               ② 登录的js验证

               ③ 数据库交互

<%@ 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>新闻发布前台-用户登录</title>
<link type="text/css" rel="stylesheet" href="css/style.css" />
<!-- 修改成本地 -->
<script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script>
<script type="text/javascript">
$(document).ready(function () {
   var height=$(document).height();
   $('body').css('height',height);
   var mart=height-500;
   mart = mart/2;
   $('.loginBox').css('marginTop',mart);
})
</script>
</head>

<body>
<div class="loginBox">
  <h1>欢迎登陆</h1>
  <form action = "doLogin.jsp" method = "post">
	  <div class="item">
	    <div class="icon"><img src="images/icon1.png" /></div>
	    <div class="txt"><input name="username" type="text" placeholder="请输入您的用户名"/></div>
	  </div>
	  <div class="item">
	    <div class="icon"><img src="images/icon2.png" /></div>
	    <div class="txt"><input name="password" type="password" placeholder="请输入您的密码"/></div>
	  </div>
	  <div class="item_2">
	    <input name="" type="checkbox" value="" />
	    <span>记住密码</span>
	    <a href="psd.html">忘记密码?</a>
	  </div>
	  <div class="item_3">
	    <input name="" type="submit" value="安全登录" class="btn"/>
	  </div>
  </form>
  <div class="item_4">
    还没有账号?<a href="register.html">立即注册</a>
  </div>
</div>
</body>
</html>

   中转站(数据库交互)

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    <%
    	//前端登录处理
    	
    	//1.设置编码
    	request.setCharacterEncoding("utf-8");
    	//2.获取信息
    	String username = request.getParameter("username");
    	String password = request.getParameter("password");
    	//3.数据库交互
    	 //加载驱动
		Class.forName("oracle.jdbc.driver.OracleDriver");
		//建立连接
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		Connection conn = DriverManager.getConnection(url, "scott", "123");
    	//sql
    	String sql = "select * from tb_news_users where username = ? and password = ?";
    	PreparedStatement ps = conn.prepareStatement(sql);
    	ps.setString(1,username);
    	ps.setString(2,password);
    	ResultSet rs = ps.executeQuery();
    	
    	//4.判断页面跳转
		if(rs.next()){
			//跳转到前端的首页
			request.getRequestDispatcher("index.jsp").forward(request, response);
		}else{
			out.println("<script>alert('账户或密码错误');location.href='login.jsp'</script>");
		}
    
    
    %>
    
    

五、评论管理 

          (1)显示评论以及增加评论

                   ① 先与数据库交互显示文章

                   ② 再与数据量交互显示评论

                   ③ 再布局增加评论

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
    
    <!-- 获取 当前传递的参数用户以及新闻编号 -->
    <%
    	//设置编码
		request.setCharacterEncoding("utf-8");
    	String username = request.getParameter("username");//用户名	
    
    %>
    
<!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">
<link rel="stylesheet" type="text/css" href="admin/css/read.css" />
		<script type="text/javascript">
			function check() {
				var cauthor = document.getElementById("cauthor");
				var content = document.getElementById("ccontent");
				if (cauthor.value == "") {
					alert("用户名不能为空!!");
					return false;
				} else if (content.value == "") {
					alert("评论内容不能为空!!");
					return false;
				}
				return true;
			}
		</script>
	</head>
	<body>
		<div id="header">

		</div>
		<div id="container">
			<div class="sidebar">
				<h1> <img src="admin/images/title_1.gif" alt="国内新闻" /> </h1>
				<div class="side_list">
		
				</div>
				<h1> <img src="admin/images/title_2.gif" alt="国际新闻" /> </h1>
				<div class="side_list">
		
				</div>
				<h1> <img src="admin/images/title_3.gif" alt="娱乐新闻" /> </h1>
				<div class="side_list">
			
				</div>
			</div>
			<div class="main">
				<div class="class_type"> <img src="admin/images/class_type.gif" alt="新闻中心" /> </div>
				<div class="content">
					<!-- 该区域实现新闻详情显示  start -->
					
					<%
						//定义所谓变量(新闻标题,发布时间,点击量,新闻内容等等)
						String ntitle = "";//标题
						String ndate = "";//发布时间
						String nauthor = "";//作者
						String ncontent = "";//内容
						int ncount = 0;//点击量
					
						
						//2.获取id
						String id = request.getParameter("nid");
						//转换
						int nid = 0;
						if(null!=id){
							nid = Integer.valueOf(id);
						}
						//3.获取数据
						//加载驱动
						Class.forName("oracle.jdbc.driver.OracleDriver");
						//建立连接
						Connection conn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott","123");
						//sql语句
						String sql = "select * from tb_news where nid = ?";
						//将sql语句传入方法返回执行对象
						PreparedStatement ps = conn.prepareStatement(sql);
						ps.setInt(1, nid);
						//返回结果集对象
						ResultSet rs = ps.executeQuery();
						//if改造
						if(rs.next()){
							ntitle = rs.getString(3);
							ndate = rs.getString(8);
							nauthor = rs.getString(4);
							ncontent = rs.getString(6);
							ncount = rs.getInt(9);
						}
					%>
				
				
				
					<ul class="classlist">
						<table width="80%" align="center">
							<tr width="100%">
								<td colspan="2" align="center"><%=ntitle %>
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
								&nbsp;&nbsp;&nbsp; 点击量 <%=ncount %></td>
							</tr>
							<tr>
								<td colspan="2">
									<hr />
								</td>
							</tr>
							<tr>
								<td align="center"><%=ndate %></td>
								<td align="left"><%=nauthor %> </td>
							</tr>
							<tr>
								<td colspan="2" align="center"></td>
							</tr>
							<tr>
								<td colspan="2"> <%=ncontent %> </td>
							</tr>
							<tr>
								<td colspan="2">
									<hr />
								</td>
							</tr>
						</table>
					</ul>
					<ul class="classlist">
						<table width="80%" align="center">
							<!-- 从index.jsp页面中跳转到详情页面,如果有评论  此处要显示出来,如果没有
							评论  显示 "暂无评论" 
							-->
							<%
								//定义一个变量存储指定新闻的评论数
								int commentCount = 0;
								//1.求指定新闻的评论数判断
								sql ="select count(*) from tb_comment where cnid = ?";
								ps = conn.prepareStatement(sql);
								ps.setInt(1, nid);
								rs = ps.executeQuery();
								if(rs.next()){
									commentCount = rs.getInt(1);
								}
								
								if(commentCount!=0){
									//遍历所有的评论
									sql ="select * from tb_comment where cnid = ?";
									ps = conn.prepareStatement(sql);
									ps.setInt(1, nid);
									rs = ps.executeQuery();
									while(rs.next()){
										sql = "select * from tb_news_users where userid = ?";
										ps = conn.prepareStatement(sql);
										ps.setInt(1, rs.getInt(2));
										ResultSet rs2 = ps.executeQuery();
										String uname = "";
										if(rs2.next()){
											uname = rs2.getString(2);
										}
										
										out.println("<tr>");
										out.println("<td>");
										out.println("用户名:"+uname+"<br/>");
										
										out.println("评论内容:"+rs.getString(5));
										out.println("&nbsp;&nbsp;&nbsp;&nbsp;<a href = 'doDelComment.jsp?username="+username+"&cid="+rs.getInt(1)+"'>删除</a><br/>");
										out.println("评论时间:"+rs.getString(6)+"<br/>");
										out.println("</td>");
										out.println("</tr>");
										out.println("<tr>");
										out.println("<td>");
										out.println("&nbsp;");
										out.println("</td>");
										out.println("</tr>");
									}
									
									
								}else{
									out.println("<td colspan='6'> 暂无评论! </td>");
								}
							
							%>
						
							<tr>
								<td colspan="6">
									<hr />
								</td>
							</tr>
						</table>
					</ul>
					<ul class="classlist">
						<form action="doComment.jsp" method="post" onsubmit="return check()">
							<!-- 通过隐藏域标签传递新闻编号 -->
							<input type = "hidden" name = "nid" value = "<%=nid %>"/>
							
							<table width="80%" align="center">
								<tr>
									<td> 评 论 </td>
								</tr>
								<tr>
									<td> 用户名: </td>
									<td><input id="cauthor" name="username" value="<%=username %>" />
										IP:
										<input name="cip" value="127.0.0.1" readonly="readonly" />
									</td>
								</tr>
								<tr>
									<td colspan="2"><textarea name="ccontent" cols="70" rows="10"></textarea>
									</td>
								</tr>
								<td><input name="submit" value="发  表" type="submit" />
								</td>
							</table>
						</form>
					</ul>
				</div>
			</div>
		</div>
		<div id="friend">
			<h1 class="friend_t"> <img src="admin/images/friend_ico.gif" alt="合作伙伴" /> </h1>
			<div class="friend_list">
				
			</div>
		</div>
		<
	</body>
</html>

         (2)增加评论的中转站

<%@page import="java.text.SimpleDateFormat"%>
<%@page import="java.util.Date"%>
<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
	
	<%
		//1.设置编码
		request.setCharacterEncoding("utf-8");
		//获取数据
		//评论编号
		int cid = 0;//定义一个变量保存最终的id
		//链接数据库查询到最大的id   最后+1
		//加载驱动
		Class.forName("oracle.jdbc.driver.OracleDriver");
		//建立连接
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		Connection conn = DriverManager.getConnection(url, "scott", "123");
		
		String sql = "select nvl(max(cid),0) from tb_comment";
		PreparedStatement ps = conn.prepareStatement(sql);
		ResultSet rs = ps.executeQuery();
		if(rs.next()){
			cid = rs.getInt(1)+1;
		}
		//out.println("cid = "+cid);
		
		//用户编号
		int cuserid = 0;
		String username = request.getParameter("username");
		//根据用户名查找到该用户的编号
		sql = "select * from tb_news_users where username = ?";
		ps = conn.prepareStatement(sql);
		ps.setString(1,username);
		rs = ps.executeQuery();
		if(rs.next()){
			cuserid = rs.getInt(1);
		}
		//新闻编号
		int nid = Integer.valueOf(request.getParameter("nid"));
		//ip地址
		String cip = request.getParameter("cip");
		//内容
		String ccontent = request.getParameter("ccontent");
		//时间
		Date date = new Date();
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		String cdate = sdf.format(date);
	
		//发表评论
		sql = "insert into tb_comment values(?,?,?,?,?,to_date(?,'yyyy-mm-dd hh24:mi:ss'))";
		ps = conn.prepareStatement(sql);
		ps.setInt(1, cid);
		ps.setInt(2, cuserid);
		ps.setInt(3, nid);
		ps.setString(4, cip);
		ps.setString(5, ccontent);
		ps.setString(6, cdate);
		
		int n = ps.executeUpdate();
		
		if(n>0){
			out.println("<script>alert('评论成功');location.href='newRead.jsp?username="+username+"&nid="+nid+"'</script>");
		}else{
			out.println("<script>alert('评论失败');location.href='newRead.jsp?username="+username+"&nid="+nid+"'</script>");
		}
		
	
	
	%>
	

     (3)删除评论

                 每个用户只能删除自己发布的评论

<%@page import="java.sql.ResultSet"%>
<%@page import="java.sql.PreparedStatement"%>
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

    <%
    	//删除评论
    	//设置编码
    	request.setCharacterEncoding("utf-8");
    	//获取用户名
    	String username = request.getParameter("username");
    	 //加载驱动
		Class.forName("oracle.jdbc.driver.OracleDriver");
		//建立连接
		String url = "jdbc:oracle:thin:@localhost:1521:orcl";
		Connection conn = DriverManager.getConnection(url, "scott", "123");
		int cuserid = 0;
		String sql = "select * from tb_news_users where username = ?";
		PreparedStatement ps = conn.prepareStatement(sql);
		ps.setString(1, username);
		ResultSet rs = ps.executeQuery();
		if(rs.next()){
			cuserid = rs.getInt(1);
		}
    	
    	
    	
    	//获取cid
    	String id = request.getParameter("cid");
    	int cid = 0;
    	if(null!=id){
    		cid = Integer.valueOf(id);
    	}
    	int cid_cuserid = 0;
    	//根据cid进行查找  cuserid
    	int nid = 0;//保存新闻编号
    	
    	//sql
    	sql = "select * from tb_comment where cid = ?";
    	ps = conn.prepareStatement(sql);
    	ps.setInt(1, cid);
    	rs = ps.executeQuery();
    	if(rs.next()){
    		cid_cuserid = rs.getInt(2);
    		nid = rs.getInt(3);
    	}
    
    	if(cuserid!=cid_cuserid){//不是当前登录用户所评论的内容
    		//out.println("不是当前登录用户的评论内容");
    		out.println("<script>alert('此评论不是当前用户所评,无法删除');location.href='newRead.jsp?username="+username+"&nid="+nid+"'</script>");
    	}else{
    		//out.println("是当前登录用户的评论内容");
    		//根据当前登录的用户以及对应的评论编号进行删除
    		sql = "delete from tb_comment where cuserid = ? and cid = ?";
			ps = conn.prepareStatement(sql);
			ps.setInt(1, cid_cuserid);
			ps.setInt(2, cid);
			int n = ps.executeUpdate();
			if(n>0){
				out.println("<script>alert('删除成功');location.href='newRead.jsp?username="+username+"&nid="+nid+"'</script>");
			}else{
				out.println("<script>alert('删除失败');location.href='newRead.jsp?username="+username+"&nid="+nid+"'</script>");
	    		
			}
			
    		
    		
    	}
    
    %>
    
    

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
JavaWeb是一种用Java语言来开发动态网页的技术栈。它包括了Servlet和JSP两个主要的技术组件。JavaWeb的开发速度很快,功能也很强大,并且具有跨平台的特点。 JavaWeb可以用来开发静态网页和动态网页。静态网页是指提供给所有人看的数据始终不会发生变化,而动态网页是指提供给所有人看的数据会随着时间和地点的不同而发生变化。大部分网站都属于动态网页。在Java中,动态网页开发的技术统称为JavaWebJavaWeb采用B/S架构,即浏览器和服务器之间的交互。相比之下,C/S架构是客户端和服务器之间的交互。JavaWeb被广泛使用,因为它可以处理高并发、高性能和高可用性的问题,并且语法类似于ASP。 如果你想快速入门JavaWeb,你可以首先学习Servlet和JSP的基本语法和用法。Servlet是JavaWeb中的核心组件,用于处理请求和响应。JSP则是一种在HTML中嵌入Java代码的技术,可以方便地生成动态内容。你可以通过学习这两个组件的基础知识,了解JavaWeb的基本工作原理和开发流程。然后,你可以进一步学习JavaWeb框架,如Spring MVC和Struts,以提高开发效率和代码质量。还可以学习数据库连接和操作、前端技术等相关知识,以完善你的JavaWeb开发技能。&lt;span class=&quot;em&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;em&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;em&quot;&gt;3&lt;/span&gt; #### 引用[.reference_title] - *1* *2* *3* [JavaWeb入门](https://blog.csdn.net/Massimo__JAVA/article/details/124496596)[target=&quot;_blank&quot; data-report-click={&quot;spm&quot;:&quot;1018.2226.3001.9630&quot;,&quot;extra&quot;:{&quot;utm_source&quot;:&quot;vip_chatgpt_common_search_pc_result&quot;,&quot;utm_medium&quot;:&quot;distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1&quot;}}] [.reference_item style=&quot;max-width: 100%&quot;] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ning_ning_03

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值