关于java获取登录用户id的问题

关于java获取登录用户id的问题,第1张

看起来你已经获取到127001这个IP了吧?

那你的代码就没错了。

只不过你用localhst:8080这么登录,IP就是127001

你非得想要看到192168的话,

看看你本机的IP是多少,开始->运行->cmd->ipconfig 就能查看到你本机的IP了

比如说你本机的IP是192168121的话

你在浏览器里面访问192168121:8080

打开的还是你做的那个页面

但是显示的IP就变成你想要的远程IP了。

requestsetCharacterEncoding("utf-8");

responsesetContentType("text/html;charset=utf-8");

PrintWriter out = responsegetWriter();

//获取请求参数

int id = IntegerparseInt(requestgetParameter("id"));

//调用dao层将这个id的学生找到

StudentDao sd = new StudentDao();

Student s = sdfindById(id);

//将学生对象保存到request范围

requestsetAttribute("s", s);

//使用请求转发,让修改页面展示将要被修改的学生信息

requestgetRequestDispatcher("updatejsp")forward(request, response);

outflush();

outclose();

这是servlet里面的内容

public Student findById(int id){

Student s = null;

Connection conn = null;

PreparedStatement pstm = null;

ResultSet rs = null;

String sql = "select from student where stuid=";

//获取连接

conn = BaseDaogetConn();

try {

pstm = connprepareStatement(sql);

pstmsetInt(1, id);

//执行查询

rs = pstmexecuteQuery();

if(rsnext()){

int stuId = rsgetInt("stuid");

String stuName = rsgetString("stuname");

String stuSex = rsgetString("stusex");

int stuAge = rsgetInt("stuage");

String stuBid = rsgetString("stubid");

//先将数据封装到Student对象中

s = new Student(stuId, stuName, stuSex, stuAge, stuBid);

//将对象放入集合

}

} catch (SQLException e) {

eprintStackTrace();

}finally{

BaseDaocloseAll(conn, pstm, rs);

}

return s;

}

//这是写在Dao里面的内容

//这个是BaseDao   加载驱动 获取链接的

public class BaseDao{

//加载驱动

static{

try {

ClassforName("oraclejdbcdriverOracleDriver");

} catch (ClassNotFoundException e) {

eprintStackTrace();

}

}

//获取连接

public static Connection getConn(){

Connection conn = null;

try {

conn = DriverManagergetConnection("jdbc:oracle:thin:@localhost:1521:orcl", "scott", "130130");

} catch (SQLException e) {

eprintStackTrace();

}

return conn;

}

//关闭所有资源

public static void closeAll(Connection conn,Statement st,ResultSet rs){

try {

if(null!=rs){

rsclose();

}

if(null!=st){

stclose();

}

if(null!=conn){

connclose();

}

} catch (SQLException e) {

eprintStackTrace();

}

}

}

java获取客服端信息(系统,浏览器等)

String agent = requestgetHeader("user-agent");

Systemoutprintln(agent);

StringTokenizer st = new StringTokenizer(agent,";");

stnextToken();

String userbrowser = stnextToken();

Systemoutprintln(userbrowser);

String useros = stnextToken();

Systemoutprintln(useros);

Systemoutprintln(SystemgetProperty("osname")); //win2003竟然是win xp?

Systemoutprintln(SystemgetProperty("osversion"));

Systemoutprintln(SystemgetProperty("osarch"));

Systemoutprintln(requestgetHeader("user-agent")); //返回客户端浏览器的版本号、类型

Systemoutprintln(requestgetMethod()); //:获得客户端向服务器端传送数据的方法有get、post、put等类型

Systemoutprintln(requestgetRequestURI()); //:获得发出请求字符串的客户端地址

Systemoutprintln(requestgetServletPath()); //:获得客户端所请求的脚本文件的文件路径

Systemoutprintln(requestgetServerName()); //:获得服务器的名字

Systemoutprintln(requestgetServerPort()); //:获得服务器的端口号

Systemoutprintln(requestgetRemoteAddr()); //:获得客户端的ip地址

Systemoutprintln(requestgetRemoteHost()); //:获得客户端电脑的名字,若失败,则返回客户端电脑的ip地址

Systemoutprintln(requestgetProtocol()); //:

Systemoutprintln(requestgetHeaderNames()); //:返回所有request header的名字,结果集是一个enumeration(枚举)类的实例

Systemoutprintln("Protocol: " + requestgetProtocol());

Systemoutprintln("Scheme: " + requestgetScheme());

Systemoutprintln("Server Name: " + requestgetServerName() );

Systemoutprintln("Server Port: " + requestgetServerPort());

Systemoutprintln("Protocol: " + requestgetProtocol());

Systemoutprintln("Server Info: " + getServletConfig()getServletContext()getServerInfo());

Systemoutprintln("Remote Addr: " + requestgetRemoteAddr());

Systemoutprintln("Remote Host: " + requestgetRemoteHost());

Systemoutprintln("Character Encoding: " + requestgetCharacterEncoding());

Systemoutprintln("Content Length: " + requestgetContentLength());

Systemoutprintln("Content Type: "+ requestgetContentType());

Systemoutprintln("Auth Type: " + requestgetAuthType());

Systemoutprintln(">

request 常用方法介绍

getProtocol():获取请求使用的通信协议,如>

通过serlvet传递过去,比如你可以定义这样的一个方法,在serlvet中调用就可以了,至于你说的不通过serlvet之类的获取是不可能的。

public void add(>

前台jsp页面:

<body>

<form id="formId" action="xxx/yyy/zzz"> //action里是提交到后台控制层的路径

<input type="text" name="name1" id="id1" value="想让后台接到的值"/>

<input type="submit" value="提交"/>

</form>

</body>

<!-- 一般想让前台的值传到后台大多会用表单提交,把你要传的值写在form表单里,name名称就是后台接值要用到的名称,id一般是在js里使用,或者使用jquery时会用到;在点击提交或者查询按钮后,表单里的值会根据action的路径传到后台 -->

后台控制层(Controller):

@RequestMapping(value="/xxx/yyy")

public class formController{

@RequestMapping(value = "/zzz")

public String getValue(String name1){ //比如说要传到后台的是一个string类型的字符串

Systemoutprintln(name1); //打印出的值就是前台input里填写的value值

//这时你就可以将接到的前台的值再传到service里从而对数据库进行 *** 作等

return "/mmm/nnn/lll"; //在对数据进行 *** 作以后,可以返回你想返回的页面,return后跟的就是页面的路径

}

}

//只是大体说了一下,我觉得这个应该不难懂吧,就算是别的框架,总体还是大同小异的,思想都差不多

以上就是关于关于java获取登录用户id的问题全部的内容,包括:关于java获取登录用户id的问题、JAVA servlet中怎么根据JSP页面传来的ID,用hql语句查询主键ID里的信息、java怎么获取客户端的请求信息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9740421.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存