我看别的帖子里引用别的java类都是非静态,我引用后非得静态,加了静态代码要大改
你的brand 是个类, 类名.方法, 这个方法必须是静态方法;
你需要实例化这个类【new brand()】,用类的对象实例来调用show方法,就可以是普通的方法了
package com.ny.serlvet;
import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import com.ny.pojo.Userwe;
public class UpdateServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
req.setCharacterEncoding("utf-8");
resp.setCharacterEncoding("utf-8");
resp.setContentType("text/html;charset=utf-8");
String uwid = req.getParameter("uwid");
String username = req.getParameter("userwename");
String password = req.getParameter("userwepass");
String useremail = req.getParameter("uwemail");
String userphone = req.getParameter("uphone");
String uwname = req.getParameter("uwname");
String uwsex = req.getParameter("uwsex");
String uwbirthday = req.getParameter("uwbirthday");
HttpSession session = req.getSession();
session.setAttribute("uwid", uwid);
session.setAttribute("userwename", username);
session.setAttribute("userwepass", password);
session.setAttribute("uwemail", useremail);
session.setAttribute("uphone", userphone);
session.setAttribute("uwname", uwname);
session.setAttribute("uwsex", uwsex);
session.setAttribute("uwbirthday", uwbirthday);
req.getRequestDispatcher("update.jsp").forward(req, resp);
/*String bean="<form action='up' method='post'>";
bean+="用户编号:<input type='text' name='uwid' value='"+uwid+"'><br>";
bean+="用户账号:<input type='text' name='userwename' value='"+username+"'><br>";
bean+="用户密码:<input type='text' name='userwepass' value='"+password+"'><br>";
bean+="用户姓名:<input type='text' name='uwname' value='"+uwname+"'><br>";
bean+="用户邮箱:<input type='text' name='uwemail' value='"+useremail+"'><br>";
bean+="用户性别:<input type='text' name='uwsex' value='"+uwsex+"'><br>";
bean+="用户电话:<input type='text' name='uphone' value='"+userphone+"'><br>";
bean+="用户生日:<input type='date' name='uwbirthday' value='"+uwbirthday+"'><br>";
bean+="<input type='submit' value='保存'> </form>";
PrintWriter writer = resp.getWriter();
writer.write(bean);*/
}
}
对于这个问题,可以考虑使用依赖注入和面向接口编程来避免使用静态类并避免大规模修改代码。具体步骤如下:
1.定义一个接口,该接口包含需要用到的Java方法,例如:
public interface MyService {
public void myMethod();
}
2.实现一个类,该类实现定义的接口,并包含需要用到的Java方法,例如:
public class MyServiceImpl implements MyService {
public void myMethod() {
// your implementation code here
}
}
3.在jsp中使用依赖注入方式引用接口,例如:
<%-- Using JSTL to inject the service --%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="myService" value="<%= new MyServiceImpl() %>" />
4.在jsp中调用Java方法,例如:
<%-- Calling the injected service method --%>
<% ((MyService)pageContext.getAttribute("myService")).myMethod(); %>
通过这种方式,我们实现了依赖注入和面向接口编程,使得我们可以在jsp中引用Java方法而无需使用静态类,并且不需要进行大规模的修改。同时,我们也将代码变得更加可读、可维护和可测试。