注释有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,错误提醒页面
测试页面
//为了防止出现乱码,要在里加上一个
=========================================================
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" %>
测试页面
不好意思,出错了
<%
response.getWriter().println(exception.getMessage());
%>
<%= 简单的代码%>//是用来显示输出的
//访问计算量的代码编写
Integer count =(Integer) application.getAttribute("count");//页面访问次数计算代码
if(count == null){
count = 0;//如果访问次数为空,那么赋值为0
}
count = count +1;//每次访问都加1
application.setAttribute("count",count);
response.getWriter().println("访问次数"+count);
一个页面需要:banner条,导航条,版权声明。
我们需要声明一个方法包含它们。
页面共享include:有静态,有动态
<%@ include file="header.jsp"%>//把需要的页面给包含进来
,编译为指令嵌进去,在编译的时候起作用
//这是图片添加的代码,需要把图片放在同路径images,设置长宽
版权所有©right;2班45
//声明版权所有
首页 //这是词条的设置
在index.jsp中<% int i =100 %>,然后在header.jsp<%=i %>结果是可以输出
动作,在运行的时候起作用,独立的servlet
跳转页面,相当于进入新的页面
赋值符只有在运行的时候才起作用
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" errorPage="errorPage.jsp" %>
首页
新闻
产品
其他
关于
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" %>
测试页面
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
这是我们的主界面,你好:<%=request.getAttribute("name")%>//通过传参数把
用户名字传进来
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
Title
登录失败,原因是 <%=request.getAttribute("msg")%>请重新登录
//通过传参数把登录失败的原因显示出来,并重新加载登录页面
这是登录页面的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);
}