使用JSP做一个小小的项目(一)

登录&注册&新闻增加

  • 登录:
    • login.jsp:登录界面
    • doLogin.jsp:处理登录请求
  • 注册:
    • regiest:注册界面
    • doRegiest:处理注册请求
  • 新闻增加:
    • index.jsp:主页(未完成版)
    • add.jsp:增加新闻的页面
    • doAdd:处理增加新闻请求

项目我将会放在文章结尾处分享给大家,大家下载之后解压就可以了。

登录:

login.jsp:登录界面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>



    
    登录
    
    <%--底下三行是导入的外部样式 --%>
    
    
    
    <%--自定义的样式 --%>
    


<%--表单,action是提交的地址,method是数据传输方式 --%>
    

欢迎使用虚空新闻管理

效果如下:
使用JSP做一个小小的项目(一)_第1张图片

doLogin.jsp:处理登录请求

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

<%
	//网络中的数据传输使用的都是字节,字节转文字会出现乱码现象,所以需要修改一下请求中的字符编码
	request.setCharacterEncoding("UTF-8");//修改请求中的字符编码
	//获取来自于前端的数据
	String username=request.getParameter("username");
	String password=request.getParameter("password");
	//导入驱动(sqlserver,oracle,mysql),一定要执行 build path,且需要导入对应的jar包
	//OracleDriver
	Class.forName("oracle.jdbc.driver.OracleDriver");//这里使用的是oracle的驱动
	//编写连接语句
	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	//获得连接
	Connection con=DriverManager.getConnection(URL, "scott", "tiger");
	//获得预编译对象(执行对象)
	String sql="SELECT * FROM TB_USER WHERE USE_NAME=? AND USE_PWD=?";
	PreparedStatement ps=con.prepareStatement(sql);
	ps.setString(1, username);
	ps.setString(2,password);
	//获得结果集
	ResultSet rs=ps.executeQuery();	
	//做登录验证
	if(rs.next()){
		out.print("");
		//转发(携带请求数据)
		//request.getRequestDispatcher("/news/index.jsp").forward(request, response);
		//重定向(不携带请求数据)
		//response.sendRedirect("/news/index.jsp");
	}else{
		out.print("");
		//response.sendRedirect("login.jsp");
	}
	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	if(rs!=null){
		rs.close();
	}
%>

注册:

regiest:注册界面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>



    
    注册
    
    
    
    
    



welcome虚空注册

效果如下:
使用JSP做一个小小的项目(一)_第2张图片

doRegiest:处理注册请求

<%@page import="oracle.jdbc.driver.OracleDriver"%>
<%@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("r_username");
	String password=request.getParameter("r_password");
	String sex=request.getParameter("r_sex");
	String age=request.getParameter("r_age");
	//导入驱动(sqlserver,oracle,mysql),一定要执行 build path,且需要导入对应的jar包
	//OracleDriver
	Class.forName("oracle.jdbc.driver.OracleDriver");//这里使用的是oracle的驱动
	//编写连接语句
	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	//获得连接
	Connection con=DriverManager.getConnection(URL, "scott", "tiger");
	//获得预编译对象(执行对象)
	String sql="INSERT INTO T_USER(USE_NAME,USE_PWD,USE_SEX,USE_AGE) VALUES(?,?,?,?)";
	PreparedStatement ps=con.prepareStatement(sql);
	ps.setString(1, username);
	ps.setString(2,password);
	ps.setString(3,sex);
	ps.setInt(4, Integer.parseInt(age));//数据库中为number类型,需要转换数据类型
	//获得结果集
	int i=ps.executeUpdate();
	//做登录验证
	if(i>0){
		out.print("");
	}else{
		out.print("");
	}
	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
%>

新闻增加:

index.jsp:主页(未完成版)

主页中的新闻数据是定死,目前只有界面和新闻发布功能,后续会继续完善功能

<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




    
    主页
    
    <%--底下三行是导入的外部样式 --%>
    
    
    
    <%--自定义的样式 --%>
    







新闻标题
  • 新闻

    绥彼岸 110 110 2020/1/1 10:23:04

  • 新闻

    绥彼岸 110 110 2020/1/1 10:23:04

  • 新闻

    绥彼岸 110 110 2020/1/1 10:23:04

  • 新闻

    绥彼岸 110 110 2020/1/1 10:23:04

  • 新闻

    绥彼岸 110 110 2020/1/1 10:23:04

效果如下:
使用JSP做一个小小的项目(一)_第3张图片

add.jsp:增加新闻的页面

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>




    
    增加新闻
    
    <%--底下三行是导入的外部样式 --%>
    
    
    
    <%--自定义的样式 --%>
    



    

    
<%--表单,action是提交的地址,需要给input和select标签加上name属性(不然doAdd拿不到数据) --%>
    
">
新闻标题
新闻类别
新闻作者
发布时间
新闻内容

效果如下:

使用JSP做一个小小的项目(一)_第4张图片

doAdd:处理增加新闻请求

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

<%
	//修改请求的字符编码
	request.setCharacterEncoding("UTF-8");
	//拿到所有的数据
	String title=request.getParameter("title");
	String topic=request.getParameter("topic");
	String author=request.getParameter("author");
	String publisher=request.getParameter("publisher");
	String content=request.getParameter("content");
	//导入驱动(sqlserver,oracle,mysql),一定要执行 build path,且需要导入对应的jar包
	//OracleDriver
	Class.forName("oracle.jdbc.driver.OracleDriver");//这里使用的是oracle的驱动
	//编写连接语句
	String URL="jdbc:oracle:thin:@localhost:1521:orcl";
	//获得连接
	Connection con=DriverManager.getConnection(URL, "scott", "tiger");
	//获得预编译对象(执行对象)
	PreparedStatement ps=con.prepareStatement("SELECT NVL(MAX(NEWS_ID),0) FROM T_NEWS");
	//获得结果集
	ResultSet rs=ps.executeQuery();
	int id=0;
	if(rs.next()){
		id=rs.getInt(1);
	}
	id++;//避免主键重复
	//编写插入数据库的语句
	String sql="INSERT INTO T_NEWS(NEWS_ID, NEWS_TITLE, NEWS_TOPIC, NEWS_AUTHOR, NEWS_PUBLISHER, NEWS_CONTENT) VALUES(?,?,?,?,?,?)";
	ps=con.prepareStatement(sql);
	ps.setInt(1, id);
	ps.setString(2, title);
	ps.setInt(3, Integer.parseInt(topic));
	ps.setString(4, author);
	ps.setString(5, publisher);
	ps.setString(6, content);
	int n=ps.executeUpdate();
	//判断是否增加成功
	if(n>0){
		out.print("");
	}else{
		out.print("");
	}
	//关闭资源
	if(con!=null&&!con.isClosed()){
		con.close();
	}
	if(ps!=null){
		ps.close();
	}
	if(rs!=null){
		rs.close();
	}
%>

链接:百度网盘
提取码:zygx

你可能感兴趣的:(笔记,eclipse,tomcat,jar,java,html)