您的位置:首页 > 编程语言 > Java开发

JAVA课堂随记(持续更新)

2020-07-14 06:04 176 查看

4.13笔记

注释有3种:
1,文档注释: /** * */
2,// 单行注释
3,/ * … * / 多行注释

=====================================================
JSP是什么:
JSP全名为Java Server Pages,中文名叫java服务器页面,其根本是一个简化的Servlet设计,一种动态网页技术标准

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="errorPage.jsp" %>
//页面指令,java语言的,下面这些内容输出到html是文本格式的,
页面的编码是utf-8,错误提醒页面
<head>
<meta charset="UTF-8">
<title>测试页面</title>
</head>
//为了防止出现乱码,要在<head>里加上一个<meta charset="UTF-8">

=========================================================
JSP有9个内置对象out,request,response,Page,pageContext,exception,config,application,session.
pageContext:用来存页面上下文信息.
exception:异常对象
注:404找不到资源,500是代码错误
错误页面的写法

<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" isErrorPage="true" %>
<html>
<head>
<meta charset="UTF-8">
<title>测试页面</title>
</head>
<body>
不好意思,出错了
<%
response.getWriter().println(exception.getMessage());
%>
</body>
</html>
<%= 简单的代码%>//是用来显示输出的
//访问计算量的代码编写
Integer count =(Integer) application.getAttribute("count");//页面访问次数计算代码
if(count == null){
count = 0;//如果访问次数为空,那么赋值为0
}
count = count +1;//每次访问都加1
application.setAttribute("count",count);
response.getWriter().println("访问次数"+count);

4.14笔记

一个页面需要:banner条,导航条,版权声明。
我们需要声明一个方法包含它们。
页面共享include:有静态,有动态

<%@ include file="header.jsp"%>//把需要的页面给包含进来
,编译为指令嵌进去,在编译的时候起作用
<img src="./images/bd_logo1.png" width="500" height="200"><br>
//这是图片添加的代码,需要把图片放在同路径images,设置长宽
<h6>版权所有&copyright;2班45</h6> //声明版权所有

<a href="">首页</a>  //这是词条的设置

在index.jsp中<% int i =100 %>,然后在header.jsp<%=i %>结果是可以输出

<jsp:include page="<%=includePage%>" />动作,在运行的时候起作用,独立的servlet

<jsp:forward page="forward.jsp"></jsp:forward>跳转页面,相当于进入新的页面

赋值符只有在运行的时候才起作用

<form action="" name="login" method="post">//创建表单
<input type="text" name="loginName">
<input type="submit" value="提交">//创建提交按钮
</form>
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="errorPage.jsp" %>

<html>
<body>
<img src="./images/bd_logo1.png" width="500" height="200"><br>
<form action="" name="login" method="post">
<input type="text" name="loginName">
<input type="submit" value="提交">
</form>
<a href="">首页</a>
<a href="">新闻</a>
<a href="">产品</a>
<a href="">其他</a>
<a href="">关于</a>
</body>
</html>

4.20笔记

Servlet:写java代码,比较方便,可读性比较好,如果在页面上显示比价麻烦,显示的时候比较简单,如果要处理业务逻辑比较麻烦。

JSP Model2采用jsp+Servlet+JavaBean技术,此技术将原本JSP页面中的流程控制代码提取出来,封装到Servlet中,从而实现了整个程序页面显示,流程控制和业务逻辑的分离

MVC:模型(model)+视图(view)+控制器(controller)

model访问不了view,view也访问不了model

做一个完整的登录页面(内含登录成功,登录失败的跳转页面)

//这是登录页面
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" errorPage="../../errorPage.jsp" %>
<html>
<head>
<meta charset="UTF-8">
<title>测试页面</title>
</head>
<body>
<form action="./login" name="login" method="post">
登录名称:<input type="text" name="loginName"><br>
登录密码:<input type="password" name="loginPwd"><br>
验证码:<input type="text" name="validCode"><img src="./captcha" width="100"
height="60"><br>//验证码验证
<input type="submit" value="登录">//登录的按钮
<input type="reset" value="取消">//取消的按钮
</form>
</body>
</html>


这是登录成功的页面显示

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
这是我们的主界面,你好:<%=request.getAttribute("name")%>//通过传参数把
用户名字传进来
</body>
</html>


这是登录失败的页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
登录失败,原因是 <%=request.getAttribute("msg")%>请<a href="login">重新登录</a>
//通过传参数把登录失败的原因显示出来,并重新加载登录页面
</body>
</html>

这是登录页面的JavaServlet代码

package cn.edu.mju.project2.comtroller;
import cn.edu.mju.project2.utils.StrUtils;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("/login")
public class LoginController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
String msg = req.getParameter("msg");
req.setAttribute("msg",msg);
req.getRequestDispatcher("/WEB-INF/template/login.jsp").forward(req,resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
String loginName = req.getParameter("loginName");
String loginPwd = req.getParameter("loginPwd");
String validCode = req.getParameter("validCode");
String saveCode = (String)req.getSession().getAttribute("code");
ServletContext application = this.getServletContext();
application.setAttribute("c",1);
//登陆名称是你的学号,密码是1234,那么显示下面的内容,否则,显示账户密码错误
String msg =null;
if(StrUtils.isBank(validCode)){
loginFail(req,resp,"请输入校验码");
}else{
if(validCode.equals(saveCode)){
if("45".equals(loginName) && "123456".equals(loginPwd)){
req.getSession().setAttribute("name",loginName);//传loginName给name
resp.sendRedirect("main");
req.setAttribute("name",loginName);
req.getRequestDispatcher("/WEB-INF/template/main.jsp").forward(req,resp);
}else{
msg = "账号密码错误!";
loginFail(req,resp,"账号密码错误!");
}
}else{
loginFail(req,resp,"校验码输入错误");
}
}

}
//声明登录失败原因的方法
private void loginFail(HttpServletRequest req, HttpServletResponse resp,String msg) throws ServletException, IOException{
req.setAttribute("msg",msg);
resp.sendRedirect("/login?msg="+ msg);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: